生成器: 可以看成一個可以存儲多個數據的容器。需要里面的數據的時候就生成一個,里面的數據只能從前往后妻味,一個一個生成,不能跳躍欣福,不能后退责球,生成的數據不能再次生成
使用 生成器.__next__()獲取生成器的數據
函數聲明中有yield關鍵字,函數就不再是單純的函數,而是一個生成器
和列表相比棕诵,列表存的是實實在在的數據裁良,每個數據都會占用一定的空間
生成器是存數據,存的是產生數據的算法校套,
if __name__ =='__main__':
x = (i? for i? in range(1,10,2))
# x 是一個生成器价脾,用來產生數據
? ? print(x)
print(x.__next__())
print(x.__next__())
print("==================================")
print(list(x))
這個例子就是一個生成器,他的作用是按一定規(guī)律每次生成一個數據笛匙,通過生成器.__next__()來獲取其中的數據侨把,且每次只能獲取一個數據,切是有記憶的獲取妹孙,只能按順序獲取每個數據秋柄,不能跳過,不能回退蠢正,不能獲取已經被取到過的數據