30天python从零到一---第二天:python基础语法
Posted 披星戴月的贾维斯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了30天python从零到一---第二天:python基础语法相关的知识,希望对你有一定的参考价值。
🍎 博客主页:🌙@披星戴月的贾维斯
🍎 欢迎关注:👍点赞🍃收藏🔥留言
🍇系列专栏:🌙 Python专栏
🌙请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信,世界上总有一些美好值得我们全力以赴,哪怕粉身碎骨!🌙
🍉一起加油,去追寻、去成为更好的自己!
文章目录
提示:以下是本篇文章正文内容,下面案例可供参考
🍎1、常量表达式
我们可以把 Python 当成一个计算器, 来进行一些算术运算.
print(1 + 2 - 3)
print(1 + 2 * 3)
print(1 + 2 / 3)
print((67.5 + 89.0 + 12.9 + 32.2) / 4)
注意:
- print 是一个 Python 内置的函数。
- 可以使用 + - * / ( ) 等运算符进行算术运算. 先算乘除, 后算加减。
- 运算符和数字之间, 可以没有空格, 也可以有多个空格. 但是一般习惯上写一个空格(比较美观)。毕竟现在也是一个“看脸的世界”。
- 在Python中, 2/ 3 = 0.666666 而不是0,而且不会四舍五入。
形如 1 + 2 - 3 这样是算式, 在编程语言中称为 表达式, 算式的运算结果, 称为 表达式的返回值
其中 1 , 2 , 3 这种称为 字面值常量, + - * / 这种称为 运算符 或者 操作符.
🍎2、变量的语法
🍇2.1、变量是什么
有的时候, 我们需要进行的计算可能更复杂一些, 需要把一些计算的中间结果保存起来. 这个时候就需要用到变量.
代码示例:计算差分
计算差分
avg = (67.5 + 89.0 + 12.9 + 32.2) / 4 # 变量赋值
total=(67.5 - avg) ** 2 + (89.8 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg)
#** 是代表乘方
results = total / 3
print(results)
在这个代码中, 就需要先计算这四个数字的平均值, 然后再计算方差. 这就需要把计算的平均值使用变量保存起来。
其中:
avg, total, result 均为变量.
** 在 Python 中表示乘方运算. ** 2 即为求平方。
变量可以视为是一块能够容纳数据的空间. 这个空间往往对应到 “内存” 这样的硬件设备上。
🍇2.2、变量的语法
定义变量:a = 10;
创建变量的语句非常简单, 其中
- a 为变量名. 当我们创建很多个变量的时候, 就可以用名字来进行区分.
- = 为赋值运算符, 表示把 = 右侧的数据放到 = 左侧的空间中.
注意:
变量有自己的命名规则:
- 变量名由数字字母下划线构成.
- 数字不能开头.
- 变量名不能和 “关键字” 重复.
- 变量名大小写敏感. num 和 Num 是两个不同的变量名.、
我们还要形成一个优秀的码风,例如:当变量名包含多个单词的时候, 建议使用 “驼峰命名法”. 形如 totalCount , personInfo 这种, 除了首个单词外, 剩余单词首字母大写.。或者是“蛇形命名”~单词之间使用下划线来进行分隔:person_info或者是total_count。
数学上, 变量通常使用 x, y, z 这种简单的英文字母或者拉丁字母表示. 但是在编程中不建议这样使用。
原因是编程中, 一个程序里通常会同时创建出很多个变量. 如果只是使用单个字母表示, 在变量多了的时候, 就很难记住哪个变量是干啥的, 从而给维护程序带来了一定的困难. 因此我们更建议使用带有明确描述性的名字, 来表示变量的用途。
🍇2.3、使用变量
注意: 在 Python 中, 修改变量也是使用 = 运算, 看起来和定义变量没有明显区别。
a = 20
a = 40
print(a)
也可以用一个变量赋值给另一个变量
a = 10
b = 20
a = b
🍎3、变量的类型
变量里面存储的不仅仅是数字, 还可以存储其它种类的数据. 为了区分不同种类的数据, 我们引入了 “类型” 这样的概念.
注意:和 C++ / Java 等语言不同, Python 变量的类型不需要显式指定, 而是在赋值的时候确定的。
3.1、整数
解释: type 和 print 类似, 也是 python 内置的函数. 可以使用 type 来查看一个变量的类型。
注意: 和 C++ / Java 等语言不同, Python 的 int 类型变量, 表示的数据范围是没有上限的. 只要内存足够大, 理论上就可以表示无限大小的数据.,这样就不会出现爆int的尴尬局面了。
3.2、浮点数(小数)
a = 'hello'
print(type(a))
注意: 和 C++ / Java 等语言不同, Python 的小数只有 float 一种类型, 没有 double 类型. 但是实际上Python 的 float 就相当于 C++ / Java 的 double, 表示双精度浮点数.。
拓展:相比于单精度浮点数, 双精度浮点数占用的内存空间更多, 同时表示的数据精度更高即可(大概精确到小数点后15 位)。
3.3、字符串
a='hello'
print(type(a))
使用 ’ ’ 或者 " " 引起来的, 称为字符串. 可以用来表示文本。
注意: 在 Python 中, 单引号构成的字符串和双引号构成的字符串, 没有区别. 'hello’和完全等价的.。
可以使用 len 函数来获取字符串的长度。
可以使用 + 针对两个字符串进行拼接。
不能拿字符串和整数/浮点数相加。
3.4、布尔
布尔类型是一个特殊的类型, 取值只有两种, True (真) 和 False (假).
比如:
- 狮子是食肉动物(真命题)
- 大象比蚂蚁还小(假命题)
a = True
print(type(a))
注意: python中的True和False首字母都是大写的。 布尔类型在后续进行逻辑判断的时候, 是非常有用的。
为什么要有这么多类型?
(1) 类型决定了数据在内存中占据多大空间. 例如 float 类型在内存中占据 8 个字节.
计算机里面使用二进制来表示数据. 也就是每个位只能表示 0 或者 1。
1 个二进制位, 就称为是一个 “比特”, 8 个二进制位, 就称为一个 “字节” (Byte)一个 float 变量在内存中占据 8 个字节空间, 也就是 64 个二进制位.
(2) 类型其实约定了能对这个变量做什么样的操作.
例如 int / float 类型的变量, 可以进行 + - * / 等操作
而 str 类型的变量, 只能进行 + (并且行为是字符串拼接), 不能进行 - * / , 但是还能使用 len 等其他操作.
总结: 类型系统其实是在对变量进行 “归类”. 相同类型的变量(数据) 往往具有类似的特性和使用规则.
🍎4、总结
本文主要总结Python语法中的常量表达式和变量的类型以及语法,希望大家读后能有所启发。
Flask从零到一 1 | 虚拟环境和第一个flask程序
本文约2500字,阅读大概需要7分钟
大约还有二十天假期时间,这二十天我准备跟进一个Flask入门系列,大致会分为10-12篇文章。虽然我以后不想做开发,但是Web开发热度还是挺高的,所以就用了一段时间学习了一下,下学期也会有与Web有关的课程,如果对Flask感兴趣的话,可以持续跟进,希望这个系列可以帮到伙伴们。
第一篇主要包括两个方面,一方面是学习Flask之前的准备工作,比如配置相应的环境以及下载一些工具;另一方面就是编写第一个Flask简易程序。
Flask是支持Python2 和 Python3两个版本的,但是在我接触Python的时候已经更新到3.6了,所以我也没有关注Python2。我相信伙伴们应该也大多都在用Python3,所以这个系列会以Python3为基础,Flask的版本使用最新的即可。
这里只对Flask做一个简要的介绍,Flask是一个微框架,本身相当于一个内核,只保留了核心功能:请求响应处理和模板渲染。这两个功能分别有Werkzeug和Jinja实现,Flask本身也包装了这两个依赖,但Flask还拥有很多扩展包,用户可以根据自己的需求导入扩展包实现相应的功能,这也是Flask框架灵活的原因。
Git下载
首先对于Windows用户,推荐下载Git这个工具,虽然很多功能我们在终端也可以实现,但在某些方面上讲使用Git的命令会更加方便,而且它也可以用来记录编写程序的源码和文件的变动情况,Git的下载安装教程可以自己查找,或者参考阅读原文中的博客,过程不是很难。
下载安装完成之后,在搜索栏找到Git Bash,运行时候输入git --version,如果出现对应的版本信息则代表安装成功。
配置虚拟环境
虚拟环境是一种独立于Python全局环境的Python解释器环境,比如一个虚拟环境中的解释器版本可以为Python2,另一个的解释器版本可以为Python3,它们之间是不会相互干扰的,而且也不会受你电脑中Python环境的影响。
配置虚拟环境是很必要的操作,因为不同的程序依赖语言的版本可能会不同,但如果在一台电脑中下载多个版本Python解释器,就会导致全局环境杂乱,虚拟环境很好的解决了这个问题,也便于管理我们的程序。
Python3中内置的venv模块可以创建虚拟环境,首先在系统自带的cmd中通过cd指令进入到指定的文件中,需要注意的是这个路径不能包含中文,然后使用下面指令创建一个虚拟环境。
python -m venv env
其中env为虚拟环境的名称,可以自己拟定。这时会在当前目录下生成一个包含了Python解释器的虚拟环境文件夹,然后在Scripts文件下有两个.bat文件,这两个文件就控制着激活虚拟环境和退出虚拟环境。
通过下面指令就可以激活虚拟环境和退出虚拟环境:
envScriptsactivate#激活
envScriptsdeactivate#退出
或者也可以直接进入Scripts目录下直接输入activate或者deactivae即可,当目录前出现下面这种小括号形式就代表激活虚拟环境成功。
(env)
然后就可以通过pip在虚拟环境中安装Flask,不用指定版本,默认安装最新版本。
pip install flask
第一个flask程序
编写一个flask程序是非常简单的,仅仅几行代码就可以实现,流程大致可以分为以下五步:
-
1、从flask包中导入Flask类 -
2、实例化Flask类,创建一个应用对象 -
3、定义视图函数 -
4、为视图函数添加装饰器(定义路由) -
5、启动flask程序
#从flask包中导入Flask类
from flask import Flask
#创建flask的应用对象
app = Flask(__name__)
@app.route('/')
def hello():
"""定义视图函数"""
return 'Hello NaiTangMao'
if __name__ == "__main__":
#启动flask程序
app.run()
Copy一下网址利用浏览器打开就会出现我们视图函数中返回的信息:
这个flask程序处理过程如下:
-
1、首先用户启动程序,并访问对应的网址。 -
2、服务器解析请求,识别装饰器中绑定的URL。 -
3、匹配URL并调用对应的视图函数。 -
4、获取视图函数的返回值,返回至客户端。
对于上面这几行代码需要掌握几个知识点,首先你应该明确app为Flask类实例化后创建的一个应用对象,但里面的__name__有什么作用呢?
__name__为当前模块名,因为flask程序在运行的时候需要静态文件和模板文件辅助,在你设置__name__之后,flask就会以当前模块(文件)所在目录为根目录,默认这个目录中的static为静态目录,templates为模板目录,因为是默认存在的,所以在根目录中并不会体现出来。不理解不要紧,后面还会涉及这两方面知识。
这时如果我们在访问原来那个网址就会出现Not Found的错误提示,此时必须要访问http://127.0.0.1:5000/hello才能触发视图函数。
一个视图函数也可以同时绑定多个URL,这通过为视图函数添加多个装饰器实现:
@app.route('/')
@app.route('/hello')
def hello():
"""定义视图函数"""
return 'Hello NaiTangMao'
也就是说现在不论我们访问http://127.0.0.1:5000/ 还是 http://127.0.0.1:5000/hello都可以触发这个视图函数。
综上为Flask入门系列的第一篇,主要介绍虚拟环境的配置以及简易flask程序构成部分的简要解析。
本文参考资料:
[1].《Flask入门教程》.李辉著
[2].Flask中文、英文文档
[3].https://www.bilibili.com/video/BV1yt4y1Q7k5?p=5
End
奶糖猫
优秀的人都在看
以上是关于30天python从零到一---第二天:python基础语法的主要内容,如果未能解决你的问题,请参考以下文章
30天python从零到一---第五天:人生重开模拟器 ,循环语句