2020.12.21-2020.12.22 Python学习笔记
一、for 循环和可迭代对象遍历
for 变量 in 可迭代对象
举例:
for x in(20,30,40):
print(x*3)
60
90
120
二、range对象
帮助我们生成整数的数列
range(start,end,[step])
举例:
for i in range(10)
0 1 2 3 4 5 6 7 8 9
for i in range(3,10)
3 4 5 6 7 8 9
for i in range(3,10,2)
3 5 7 9
三、嵌套循环
00000
11111
22222
33333
44444
for x in range(5):
for y in range(5):
print(x.end=’\t’)
print()
四、break语句
中断、打断、结束整个循环。
当有嵌套循环时,break语句只能跳出最近的子层循环
while True
a=input("请输入一个字符(输入Q或q结束)”)
if a.upper()==‘o’
print("循环借宿,退出”)
break
elae:
print(a)
五、continue语句
结束本句循环,继续下一次。
六、else语句
while 条件表达式:
循环体
else:
语句块
说明:没有被break中断,就执行else语句。如果被break中断就不执行else语句
七、循环代码优化
不免不必要的低效计算
a、尽量减少循环内部不必要的计算
b、嵌套循环中,尽量减少内层循环的计算,尽可能向外提
c、局部变量查询较快,尽量使用局部变量
其他优化手段
a、链接多个字符串,使用join()而不是+
b、列表进行元素插入和删除,尽量在列表尾部操作。
八、使用zip()并行迭代
对多个序列进行并行迭代,在最短序列“用完”时就会停止
names=(“高淇”,“高老二”,“高老三”,“高老四”)
ages=(18,16,20,25)
jobs=(“老师”,“程序员”,“公务员”)
for name,age,job in Zip(names,ages,jobs):
print(”{0}–{1}–{2}".formate(name,age,job))
九、推导式创建序列(典型的Python风格)
(一)列表推导式:
[表达式 for item in 可迭代对象]
或者[表达式 for item in 可迭代对象 if 条件判断]
举例:
[x for x in range(1,5)]
[1,2,3,4]
[x*2 for x in range(1,5)]
[2,4,6,8]
[x*2 for in range(1,20) if x%5==0]
[10,20,30]
(二)字典推导式
{key_expression:value_expression for 表达式 in 可迭代对象}
(三)集合推导式
集合的底层就是字典,只不过没有key,只有value.
{表达式 for item in 可迭代对象}或者
{表达式 for item in 可迭代对象 if 条件判断}
(四)生成器推导式(生成元组)
发现提示的四一个生成器对象,显然,元组式没有推导式的,一个生成器只能运行一次,第一次迭代可以得到数据,第二次迭代发现数据已经没有了。
如果想看到生成器里的内容
就用tuple(gnt)
十、函数用法和底层分析
函数是可以反复调用的程序代码块,可以实现一个功能。
(一)函数分类
a、内置函数 str() list() len()
b、标准库函数 import
c、第三方库函数,下载安装库,也是用import语句导入
d、用户自定义函数
(二)参数列表
a、圆括号内是形式参数列表,有多个参数则使用逗号隔开
b、形式参数不需要声明类型,也不需要指定函数返回值类型
c、无参数,也必须保留空的圆括号
d、实参列表必须与形参列表一一对应
(三)return返回值
a、如果函数体中包含return语句,则结束函数执行并返回值
b、如果函数体中不包函return语句,则返回None值
(四)调用函数之前,必须要先定义函数,即先调用def创建函数对象
a、内置函数对象自动创建
b、标准库和第三方库函数,通过import导入模块时,会执行模块中的def语句
十一、形参和实参
def print max(a,b) 其中a,b就是形参
print max(30,5)数字就是实参
十二、文档字符串
函数的注释’’’ ‘’’
想看文档字符串:help(函数名.doc)
十三、返回值(不是必须的)
a、如果函数中包含return语句,则结束函数并执行返回值
b、如果函数中不包含return语句则返回None值
c、要返回多个返回值,使用列表,元组,字典,集合将多个值“存起来”即可