for循环和可迭代对象
for 变量 in 可迭代对象:
循环体语句
可迭代对象
-
序列。包括:字符串、列表、元组
-
字典
-
迭代器对象(iterator)。range对象
sum_all = 0 for x in range(101): sum_all += x print(sum_all)
-
生成器对象
嵌套循环
一个循环体里可以嵌入另外一个循环,一般称为‘嵌套循环’。
for x in range(5):
for y in range(5):
print(x,end='\t')
print() #起到换行的作用
打印九九乘法表
for m in range(1,10):
for n in range(1,m+1):
print('{0}*{1}={2}'.format(m,n,(m*n)),end='\t')
print()
break语句
break跳出最近一层的循环
continue语句
continue语句用于结束本次循环,继续下一次。应用于最近的一层循环
循环代码优化
-
尽量减少循环内部不必要的计算
-
嵌套循环中,尽量减少内层循环的计算,尽可能向外提。
-
局部变量查询较快,尽量使用局部变量。
其他优化手段:
-
连接多个字符串,使用join()而不使用+
-
列表进行元素插入和删除,尽量在列表尾部操作
使用zip()并行迭代
zip()对多个序列进行并行迭代
推导式创建序列
列表推导式
[表达式 for item in 可迭代对象 if 条件判断]
[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 : value for 表达式 in 可迭代对象}
my_text ='i love you, i love he, i love 123'
char_count ={c:my_text.count(c) for c in my_text}
集合推导式
{key for 表达式 in 可迭代对象}
b={x for x in range(1,100) if x%9 ==0}
生成器推导式(生成元组)
一个生成器只能运行一次
函数用法和底层分析
函数的基本概念
-
一个程序由一个个任务组成。函数就是代表一个任务或一个功能
-
函数是代码复用的通用机制
python函数的分类
-
内置函数
-
标准库函数
-
第三方库函数
-
用户自定义函数
函数的定义和调用
核心要点
def 函数名([参数列表]):
#文档说明
函数体/若干语句
文档字符串
help(函数名.doc)打印函数的文档字符串