6.9.1迭代器的定義
自己不用寫,只需要學會用
迭代器:對可迭代物件中的元素進行逐一獲取,表象:具有''next''方法且每次呼叫都獲取可迭代物件中的元素(從前到後乙個個獲取)
迭代器想要獲取每個值,就必須反覆執行
v1 = [11,22,33,44]#列表轉化成迭代器
v2 = iter(v1)
result = v2.__next__()
result = v2.__next__()
result = v2.__next__()
result = v2.__next__()
#如果報錯:stopiteration,表示已經迭代完成
v1 = [11,22,334,44]
v2 = iter(v1)
while true:
try:
val = v2.__next__()
print(val)
exceppt exception as e:
break
v1 = [11,22,334,44]6.9.2 可迭代物件#內部會將v1轉換成迭代器
#內部會反覆執行 迭代器.__next__()
#取完後不報錯
for item in v1:
print(item)
v1 = [11,223,33,44]result = v1.__iter__()
#函式def func():
return 123
func()
#生成器很熟(內部包含有yield)6.10.1 生成器推導式def func():
print('f1')
yield 1
print('f2')
yield 2
print('f3')
yield 100
print('f4')
#函式內部**不會執行,返回乙個生成器物件,只有被for迴圈才只想內部**
v1 = func()
#生成器是可以被for迴圈,一旦開始迴圈那麼函式內部得**就會開始執行
for item in v1:
print(item)
def func():count = 1
while true:
yield count
count += 1
if count == 99
return
val = func()
for item in val:
print(item)
python的包 python的包
1.把解決一類問題的模組放在同乙個資料夾裡,這個資料夾就是包 2.通過import或是from.import匯入時必須遵循乙個原則 a 凡是在匯入時帶點的,點的左邊都必須是乙個包,否則非法 b 匯入後,使用時點的左邊可以是包,模組,類,函式 它們都可以用點的方式調節用自己的屬性 c from.imp...
python的語句 Python的語句
python中的兩種語句 1 if條件控制語句 格式 if a int input 請輸入第乙個數 b int input 請輸入第二個數 if a b print a比b小 if else a int input 請輸入第乙個數 b int input 請輸入第二個數 if a b print a...
Python(四)python的注釋
一 python單行注釋符號 python中單行注釋採用 開頭二 批量 多行注釋符號 多行注釋是用三引號 包含的,例如 三 python中文注釋方法 如果檔案裡有非ascii字元,需要在第一行或第二行指定編碼宣告。把chinesetest.py檔案的編碼重新改為ansi,並加上編碼宣告 一定要在第一...