一 匿名函数
定义:
匿名就是没有名字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 = False 2 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 break13 14 15 for k in range(10):16 print('--------->C层',k)17 if k == 3:18 break_flag = True19 break20 21 if break_flag:22 break23 24 if break_flag: #if break_flag == True25 print('C层结束,那都结束吧')26 break27 28 print('keep going ......')
###运行结果--->A层 0------>B层 0--------->C层 0--------->C层 1--------->C层 2--------->C层 3C层结束,那都结束吧keep going ......
while
1 break_flag = False 2 3 count = 0 4 while break_flag == False: 5 print('--->爷爷层') 6 7 while break_flag == False: 8 print('------>爸爸层') 9 10 while break_flag == False:11 count += 112 if count > 3:13 break_flag = True14 15 print('-------->最后一层')16 17 18 print('keep going .......')
###运行结果--->爷爷层------>爸爸层-------->最后一层-------->最后一层-------->最后一层-------->最后一层keep going .......
三 九九乘法表
for #-----1for i in range(1, 10): for j in range(1, i + 1): print(j, 'x', i, '=', i * j , end='\t') print()#-----2for 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 = 0j = 0while i<9: i+=1 while j<9: j+=1 print(j,'*',i,'=',i*j,end='\t') if i == j: print('') j=0 break
补充:
i = 0for i in range(5): j = 0 flag = True while j < 3: print(i,j) j += 1 if i==j: flag = False break if flag == False: break##结果0 00 10 21 0
def test4(): a = 1 yield a b = 1 yield b while True: c = a+b yield c a = b b = cl = test4()print(l.__next__()) #1print(l.__next__()) #1print(l.__next__()) #2print(l.__next__()) #3print(l.__next__()) #5print(l.__next__()) #8