函数进阶,仅作了解
'''
函數進階,僅作了解
'''
#可迭代對象與迭代器: # 可迭代對象: 含有__iter__方法叫做可迭代對象,除了數字類型,都是可迭代對象,可迭代對象使用__iter__變成迭代器 # 迭代器對象: 含有__iter__和__next__方法叫做迭代器對象,只有文件是迭代器對象,迭代器使用__iter__依然是迭代器 # 可迭代對象不一定是迭代器對象; 迭代器對象一定是可迭代對象 #三元表達式 x = 10 y = 20 print(x) if x > y else print(y) #列表推導式 lt = [i**2 for i in range(10)] print(lt) #字典生成式 dic = {i:i**2 for i in range(10)} print(dic) 或 lt1 = ['a', 'b', 'c'] lt2 = [1, 2, 3] dic = {k: v ** 2 for k, v in zip(lt1, lt2)} print(dic) #生成器表達式: #生成器: 本質就是迭代器,生成器就是一個自定義的迭代器 #生成器:含有yield關鍵字的函數叫做生成器 #一個yield相當于一個next; 暫停函數'''
yield與return的區(qū)別:
yield的特性:
1.暫停函數 2. 通過next取值
return的特性:
1.終止函數2. 通過調用函數拿到值
'''
#遞歸:傳遞 ; 回歸.函數a內部直接調用函數a本身 # 每一次遞歸,不會結束函數,并且每一次遞歸都會開辟內存空間,如果一直開辟內存就炸掉了,所以最多遞歸1000次 # 真正的遞歸必須得要有退出條件'''
遞歸:
1.函數內部調用函數自己
2.必須要有退出條件
3.遞歸必須要有規(guī)律
'''
轉載于:https://www.cnblogs.com/jinhongquan/p/11580183.html
總結
- 上一篇: JAVA循环结构学校上机经常遇到的几题
- 下一篇: 匿名函数练习