目录
主要讲述python语言的一些基础知识点,包括基本编码规范和基本信息。
1.基础语法特点
1.1 注释
注释,是用于在代码中添加的标注性的文字,程序中并不会执行,知识用于告知程序员,该代码是干什么的,怎么用的等。
注释主要用于防止别人阅读代码是可以识别到代码的意图或者一段时间之后我们可以快速的熟悉自己的代码意图,不必重头开始理解。
1.1.1 单行注释
语法如下:
# 注释内容
print("Hello world.") # 打印”Hello world“。
#号之后的注释内容知识用于说明该代码的意图和备注信息,并不会被执行。
1.1.2 多行注释
多行注释,采用三个单引号''' 注释内容 ''' 或者三个双引号""" 注释内容 """,注意区分字符串,包含在语句中的是字符串,不属于任何语句的内容才是多行注释内容。
语法如下:
'''
注释内容
'''
或者
"""
注释内容
"""
'''
@ 用途:多行注释内容
@ 注释:
'''
"""
@ 用途:多行注释内容
@ 注释:
"""
print("多行注释")
# 以下是包含在语句中的,是字符串。
print("""这是字符串""")
1.1.3 中文编码声明注释
中文编码声明注释起初是为了解决python2无法直接编写中文时添加的注释,这个问题在python3中已经解决,不过为了代码的规范性,建议在文件开头添加中文编码注释,建议使用utf-8的格式。
格式:
# _*_ coding:编码格式 _*_
# _*_ coding:utf-8 _*_
其中“_*_”只是为了美观添加的,可以删除。改为格式“#coding:编码格式”。
1.1.4 类型建议符和返回值注释
格式:
def fun(self, a: List[int], b: str) -> List[int]:
- 在具体的参数名称后面用“:”区分连接数据类型,用来声明建议输入的类型,不过若输入错误亦不会报警,但会发出警告。
- 在函数后方使用"->"连接数据类型,声明该函数返回值的类型。
1.2 代码缩进
不管什么语言,都会使用一定的代码锁紧来做代码块层次区分,C语言,C#语言,java语言等使用的时“{}”做区分,结构层次灵活多变,没有强制的结构区分格式。python中使用代码缩进来做层次结构划分,不同的缩进量代表不同的代码块。
代码缩进通常用在类、函数、流程控制、异常处理等语句上,以“:”及下一行的缩进为开始,以同一缩进量代码块结束为结束。
通常使用一个tab键或者4个空格做缩进量,建议使用 4个空格做缩进量。
强制要求:python要求,同一个代码开的缩进量必须相同,否则将会报错,报SyntaxError异常。
示例:
由于不一样的缩进层次,报错。
将缩进量改为一致之后错误就会消失。
1.3 编码规范
每一个语言都有自己的编码规范,遵守一定的编码规则和编码规范可以代码有更好的可读性,有利于代码的理解和维护。
1.3.1 python编码规范:
参考python增强建议书(Python Enhancement Proposals,简称pep),版本8。
1.3.1.1 编码规范
- 每个import语句只导入一个模块,尽量避免一次导入多个模块;
- 不要在行尾添加分号“;”,也不要用分号将两个命令放在同一行;
- 建议每行不超过80个字符;
- 使用必要的空行可以增加代码的可读性;
- 运算符两侧、函数参数之间、逗号“,”两侧建议使用空格进行分隔;
- 避免在循环当中使用+和+=号运算累加字符串(python中字符串是不可变的,避免拆创建不必要的对象);
- 适当使用异常处理结构提高程序容错性;
1.3.1.2 命名规范
- 模块名尽量短小,并且使用全部小写字母,可以用下划线分隔(如:game_main);
- 包名尽量短小,并且全部使用小写字母,使用“.”分隔(如:com.book);
- 类名采用单词首字母大写(即Pascal风格,如:Book);
- 模块内部的类由“_”+Pascal风格的类名组成;
- 函数、类的属性和方法全部采用小写字母,用“_”分隔;
- 常量命名时采用全部大写字母,可用下划线;
- 使用单下划线“_”开头的模块变量或者函数是受保护的;
- 使用双下划线“__”开头的实例变量或者方法是类私有的;
- 变量名尽量小写,如有多个单词,用下划线隔开;
1.3.2 代码分行示例:
1.3.2.1 字符串可使用“\”进行分行:
两者结果是一样的
pep 8 推荐使用小括号将多个字符串隐式拼接起来:
# _*_ coding:utf-8 _*_
s = ("今天是个好天气,可是我还要加班!"
"今天是个好日子,我打算跑路去浪!")
print(s)
1.3.2.2 正常语句分行
语句分行通常使用“()”在操作符后面对语句进行分行。
# _*_ coding:utf-8 _*_
a=11
if a>=10 and a<100:
print("范围大于等于10小于100")
if a>=10 and ( #使用小括号很行语句
a<100):
print("范围大于等于10小于100")
两者是等效的
注意:
导入模块的语句过长或者导入语句的url过长时不进行分行。
1.4 保留字与标识符
1.4.1 保留字
python中已经有特定意义的一些单词,开发过程中不可使用作为函数、变量、类、模块等。
保留字 | 说明 |
False | |
None | |
True | |
__peg_parser__ | |
and | |
as | |
assert | |
async | |
await | |
break | |
class | |
continue | |
def | |
del | |
elif | |
else | |
except | |
finally | |
for | |
from | |
global | |
if | |
import | |
in | |
is | |
lambda | |
nonlocal | |
not | |
or | |
pass | |
raise | |
return | |
try | |
while | |
with | |
yield |
注意:保留字是区分大小写的。
1.4.2 标识符
标识符为变量、函数、类等对象的名称。
命名规则为:字母+“_”+数字;
命名规则如下:
- 不能使用的空格、$,@等特殊字符不能用于标识符;
- 数字不能放在开头;
- 保留字不能用作标识符。
- _标识符 是 保护变量;
- __标识符 是类的私有成员;
- __标识符__ 是专用标识(如:__init__()).
错误示例如下:
100w
$money
one#two
user name
try
2 变量和数据类型
2.1 变量
变量是一个可变的数据量,通常用标识符标识,比如房间,人物,箱子、水果等等都可以作为一个变量。
a = 1 # 数字变量,a代表数字1
student = "小明" # 字符串变量,student代表学生小明
year = 2022 # 数字变量,year代表2022年
变量的命名需要符合标识符的命名规则。
注:python中不需要对变量进行显示的数据类型生命。即不需要在变量前面添加数据类型(如:int a=2,这样是不需要的)。使用中可以使用type()函数获取数据类型。
2.2 数据类型
python中有六大数据类型: