目錄三元表示式
列表推導式
字典生成式
生成器生成式
遞迴迭代器不是乙個函式,它就是乙個稱呼
含有.__iter__方法的資料型別就叫做可迭代物件
x = 0
s = 'abc'
s.__iter__()
lt = [1,2,3]
lt.__iter__()
tup = (1,)
tup.__iter__()
dic =
dic.__iter__()
se =
se.__iter__()
只有數字型別不能點出來__iter__方法,所以只有數字型別不是可迭代物件,其餘資料型別都是可迭代物件。
迭代器提供了一種不依賴索引取值的方式
含有._iter__方法和 .__next__的就叫做迭代器物件
可迭代物件使用__iter__後可以變為迭代器,迭代器使用__iter__後依然是迭代器
只有檔案是可迭代器物件,只用檔案在不用iter方法時可以使用__next__方法
for迴圈本質就是乙個while迴圈,只不過是乙個可以定可控的while迴圈
dic_iter = dic.__iter__()
while true :
try :
print(dic_iter.__next__())
except stopiterration:
break
a = 10
b = 20
if a < b
print(a)
else:
print(b)
# 三元表示式寫法
print(a if azip()方法res = zip([1,2,3],[1,2,3],'abc') # res 是乙個迭代器,__iter__返回元組
print(res.__next__())
print(res.__next__())
print(res.__next__())
print(res)
# (1, 1, 'a')
# (2, 2, 'b')
# (3, 3, 'c')
# # 通過zip使兩個列表生成字典
lt1 = [1,2,3]
lt2 = ['a','b','c']
print()
#
生成器的本質就是迭代器,生成器是乙個自定義的迭代器
含有yield關鍵字的函式就叫做生成器
def scq():
yeild 3
yelid 4
print(scq())
# res = scq()
print(res.__next__)
print(res.__next__)
yield的作用:
暫停函式
通過呼叫函式拿到值
def range1(start)
count = 0
while count <0:
yield count
count += 1
res = range1(10)
print(res.__next__)
print(res.__next__)
print(res.__next__)
遞迴就是函式內部直接或間接呼叫函式本身
函式+分支語句
遞迴本身是乙個函式,需要函式定義的方式去描述
函式內部,採用分支語句對輸入的引數進行判斷,不能陷入死遞迴
遞迴函式的兩個特性:
鏈條:計算過程中存在規律
基例:退出的條件也就是遞迴的最末端,存在乙個或多個不需要再遞迴的基例。
每一次遞迴都不會結束函式,並且每一次遞迴都會開闢記憶體空間,將函式拷貝乙份進去繼續執行,直到退出條件成立,完成遞迴。
# 每次加2
def age(x):
if x == 0:
return 18
x -= 1
return age(x) + 2
res = age(6)
print(res) # 32
# 計算n的階乘
def fact(n):
if n = 0:
return 1
else:
return n*fact(n-1)
當傳的初值為6時,因為它不等於0,所以他會執行age(5)+2
但是他也不知道age(5)的值,所以計算機就會開闢乙個新的記憶體空間去計算age(5)的值,同理計算機會一直計算age(4),age(3)直到x == 0,得到age(0)的值,然後再逐步把值傳給age(1),age(2),直到age(6).最後得出age(6)的值。
第十三天 練兵
問 昨天您講的很驚心動魄。這樣快節奏的配合確實非常完美,很羨慕。但要形成這樣的結果必須我們之間配合需要非常流暢,我們有什麼方法可以促成這樣的氛圍?答 練兵。如果一開始就進入業務系統功能的設計開發,業務組長對業務還沒有很深的吃透,這樣倉促上陣功能不但連上一版不如,而且為了補課,軟體不斷修改,什麼都亂了...
2020 7 18第十三天
1.學習了static關鍵字 靜態變數,靜態方法以及靜態模組 1 public class vardemo 9 1 public class staticblockdemo 5public staticblockdemo 8public static void main string args 12...
android基礎 第十三天
可航訓練營 為幫助大家更好的 系統性的學習 android 一 progressbar頁面進度提示 密碼 9ewc 二 fragment優化選項卡切換 密碼 gvsb 三 fragment和activity進行通訊 密碼 45u2 四 xlistview上拉重新整理 密碼 na6r 五 提示對話方塊...