Python代码风格
:PEP8规范
- 缩进:使用4个空格进行缩进,不要使用制表符。 行长度限制:每行代码应限制在79个字符以内,如果一行过长,可以使用括号或换行符进行分割。
- 空格的使用:在逗号、冒号、分号等后面应该加上一个空格,而在括号内部和函数参数列表中不应该加空格。
- 命名规范:变量名和函数名应该使用小写字母和下划线分割,并且要有描述性的名字
- 空行:在类定义之间、函数定义之间和代码块之间应该有一个空行。 注释:使用注释来解释代码的作用,并且要保持注释与代码的一致性。
- 导入规范:每个导入应该独占一行,应该按照标准库模块、第三方库模块和本地模块的顺序进行导入。
- 函数和类的定义:函数和类的定义应该在顶层进行,且之间应该有两个空行。
注释与代码的比例 1:3
Python变量
变量即标识符,用来引用内存中的数据
一条语句 print( 1 + 2 ) 执行完毕后,数据1,2,3均会被监控线程回收释放内存,可以用变量引用重复使用
基本数据类型
整型浮点
布尔
字符串
浮点数的精度通常是64位(双精度,约为15位),需要更高的精度可以使用内置模块 decimal
所有数据了中都有且只有一个的值的布尔状态位False,称为此类型的零值,包括整型浮点型:0,字符串:“”,列表:[],字典:{}
三引号除了作为注释,也可以作为字符串,包含多行文本,打印也会包含多行文本
字符串转义符
\n:表示换行符
\t:表示制表符
\r:表示回车符
':表示单引号
":表示双引号
\:表示反斜杠
字符串格式化输出
古老:print(“%s %d” %(name , age , height))
2.6之后:print(“{}{}{}”.format(name , age))
3.6之后: print(f"{name} {age} {height}")
字符串序列操作
字符串是序列的一种,序列是容器加有序,包括元素 列表 字符串 范围,字典不是序列
操作包括索引(正索引负索引),切片,拼接,元素个数,是否存在
切片的首尾索引的方向要与步长参数的方向一致,否则会得到空串
字符串的特殊机制
字符串是不可修改的,只能通过重新赋值来改变引用,对字符串的操作实际上是创建一个新的字符串对象
Python对于短字符串(小于等于20个字符)使用字符串常量池的优化机制,相同的字符串常量只会在内存中存在一份。
除了字符串外,小整数也有相应的小整数池的优化机制,即-5到 256均为单例对象,同一个值的多个引用指向相同对象
操作字符串的常见函数:
s.lower(): 返回将字符串s转换为小写字母的副本。 s.upper(): 返回将字符串s转换为大写字母的副本。
s.capitalize(): 返回将字符串s的首字母大写的副本。 s.title(): 返回将字符串s每个单词的首字母大写的副本。
s.strip(): 返回去除字符串s开头和结尾的空格的副本。
s.split(delimiter): 返回将字符串s按照指定的分隔符delimiter分割后的子字符串列表。
s.replace(old, new): 返回将字符串s中所有的旧字符串old替换为新字符串new的副本。
s.find(substring):返回字符串s中第一个子字符串substring的索引位置。如果没有找到,返回-1。
s.startswith(prefix): 如果字符串s以指定的前缀字符串prefix开头,返回True;否则返回False。
s.endswith(suffix): 如果字符串s以指定的后缀字符串suffix结尾,返回True;否则返回False。
s.join(iterable): 将字符串s插入到可迭代对象iterable的每个元素之间,并返回结果的字符串。
s.isdigit(): 如果字符串s只包含数字字符,返回True;否则返回False。