一、循环代码优化
遵循一下三个原则:
1、尽量减少循环内部不必要的计算
2、嵌套循环中,尽量减少内层循环的计算,尽可能向外提
3、局部变量查询较快,尽量使用局部变量。
二、其他优化手段
1、链接多个字符串,使用join()而不是使用+
2、列表进行元素插入和删除,尽量在列表尾部操作。
三、使用zip()并行迭代
names =("高琪","高老二","高老三","高老四")
ages = (18,16,20,35)
jobs=("老师","程序员","公务员")
for name,age,job in zip(names,ages,jobs):
print("{0}-{1}-{2}",format(name,age,job))
for i in range(3):
print("{0}-{1}-{2}".format(names[i],ages[i],jobs[i]))
四、列表推导式
语法 {表达式 for item in 可迭代对象]
{表达式 for item in 可迭代对象 if 条件判断}
[x for x in range(1,5)]
[x*2 for x in range(1,5)]
[a for a in "abcdefg"]
[x*2 for x in range(1,20) if x%5==0] %取余
cells = [(row,col) for row in range(1,10) for col in range(1,10)]
五、字典推导式
{key)expression :value_expression for 表达式 in 可迭代对象}
my_text = ' i love you,i love sxt,i love gaoqi'
char_count = {c:my_text_count(c) for c in my_text}
print(char_count)
六、集合推导式
{key_expression for 可迭代对象 } 或者:{表达式 for item in 可迭代对象 if 条件判断}
b ={x for x in range(1,100) if x%9==0}
print(b)
七、生成器推导式(生成元组)
gnt = (x for x in range(1,100) if x%9 ==0)
print(tuple(gnt))
八、函数的分类
1、内置函数
str(0,list(),lenI()等这些都是内置函数,直接用。
2、标准库函数
通过import 词句导入库,使用其中定义的函数。
3、第三方库函数
python社区也提供了很多高质量的库,下载安装这些库后,也是通过iport语句导入,然后可以使用这些第三方库的函数。
4、用户自定义的函数
用户自己定义的函数,显然也是开发中适应用户自身需求定义的函数。
九、核心要点
1、使用def定义函数,然后就是一个空格和函数名称:
(1)python执行def时,会创建一个函数对象,并绑定到函数名变量上。
2、参数列表
(1)圆括号内是形式参数列表,有多个参数则使用逗号隔开
(2)形式参数不需要声明类型,也不需要指定函数返回值类型
(3)无参数,也必须保留空的圆括号
(4)实参列表必须与形参列表一一对应
3、return返回值
(1)如果函数体包含return语句,则结束函数执行并返回值。
(2)如果函数体中不抱哈return语句,则返回None值。
(3)要返回多个返回值,使用列表、元组、字典、集合将多个值“存起来”即可。
4、调用函数之前,必须要先定义函数,即先调用def创建函数对象
(1)内置函数对象会自动创建
(2)标准库和第三方库函数,通过import导入模块时,会执行模块的def语句。
十、形参和实参
十一、文档字符串
用三个单引号或者三个双引号来实现,中间可以加入多行文字进行说明。函数的说明。
十二、返回值