一 匿名函数
定义:
匿名就是没有名字lambda x,y,z:x+y+z #与函数有相同的作用域,但是匿名意味着引用计数为0,使用一次就释放,除非让其有名字
(lambda x,y,z:x+y+z)(1,2,3)
有名与匿名的对比:
#有名函数与匿名函数的对比
有名函数:循环使用,保存了名字,通过名字就可以重复引用函数功能
匿名函数:一次性使用,随时随时定义
应用:max,min,sorted,map,reduce,filter
二 多层循环跳出
for
for 循环提供了python中最强大的循环结构(for循环是一种迭代循环机制,而while循环是条件循环,迭代即重复相同的逻辑操作,每次操作都是基于上一次的结果,而进行的)
遍历序列类型:
letter_list = ['a','b','c','d']
#通过序列项迭代
for i in letter_list:
print(i)
#通过序列索引迭代
for i in range(len(letter_list)):
print('index is {},letter is {}'.format(i,letter_list[i]))
#基于enumerate的 项和索引
for i,letter in enumerate(letter_list,1): # 1,代表索引 从1,开始
print('index is {},letter is {}'.format(i,letter))
1 break_flag =False2
3 for i in range(10):4
5 print('--->A层',i)6
7 for j in range(10):8 print('------>B层',j)9
10 if j == 3:11 break_flag =True12 break
13
14
15 for k in range(10):16 print('--------->C层',k)17 if k == 3:18 break_flag =True19 break
20
21 ifbreak_flag:22 break
23
24 if break_flag: #if break_flag == True
25 print('C层结束,那都结束吧')26 break
27
28 print('keep going ......')
for 多层
###运行结果
--->A层 0
------>B层 0
--------->C层 0
--------->C层 1
--------->C层 2
--------->C层 3
C层结束,那都结束吧
keep going ......
while
1 break_flag =False2
3 count =04 while break_flag ==False:5 print('--->爷爷层')6
7 while break_flag ==False:8 print('------>爸爸层')9
10 while break_flag ==False:11 count += 1
12 if count > 3:13 break_flag =True14
15 print('-------->最后一层')16
17
18 print('keep going .......')
while 多层
###运行结果
--->爷爷层
------>爸爸层
-------->最后一层
-------->最后一层
-------->最后一层
-------->最后一层
keep going .......
三 九九乘法表
for
#-----1
for i in range(1, 10):for j in range(1, i + 1):print(j, 'x', i, '=', i * j , end='\t')print()#-----2
for i in range(1,10):for j in range(1,10):print(j,'x',i,'=',i*j,end='\t')if i ==j:print('')break
while
i =0
j=0while i<9:
i+=1
while j<9:
j+=1
print(j,'*',i,'=',i*j,end='\t')if i ==j:print('')
j=0break
补充:
i =0for i in range(5):
j=0
flag=Truewhile j < 3:print(i,j)
j+= 1
if i==j:
flag=Falsebreak
if flag ==False:break
##结果
0 0
0102
1 0
1
deftest4():
a= 1
yielda
b= 1
yieldbwhileTrue:
c= a+byieldc
a=b
b=c
l=test4()print(l.__next__()) #1
print(l.__next__()) #1
print(l.__next__()) #2
print(l.__next__()) #3
print(l.__next__()) #5
print(l.__next__()) #8
2