"""
for 變數 in 序列
執行的**塊
"""list01 = ['joe', 'susan', 'jack' ,'tom']
# 遍歷列表
for i in list01:
print(i)
pass空操作,無任何意義,
pass語句的使用表示不希望任何**或命令的執行
pass語句是乙個空操作,在執行的時候不會產生任何反應
pass語句常出現在if、while、for等各種判斷或者迴圈語句中
當遍歷字典中的值時,可以用字典的value()來直接查詢
組織好的、可重複使用的、使用者實現單一或者關聯功能的**段。函式能夠提高應用的模組性和**的重複利用率,另外也可以根據自己的需要進行使用者自定義函式的建立。
① 函式的定義規則
任何傳入引數和變數必須放在圓括號中間。
函式的第一行語句可以選擇性地使用文件字串——用於存放函式說明
函式內容以冒號起始,並且縮排。
def pname(): # 不妨
"""獲取姓名
:return:
"""pname()
②yield生成器
1. 生成乙個迭代器 ——》yield的作用是把乙個函式變成乙個generator
generator 生成器:使用了yield的函式被稱為生成器。
跟普通函式不同的是,生成器是乙個返回迭代器的函式,只能用於迭代操作,更簡單點理解生成器就是乙個迭代器。
在呼叫生成器執行的過程中,每次遇到yield時函式會暫停並儲存當前所有的執行資訊,返回yield的值,並在下一次從當前位置繼續執行。
注意:可以通過for迴圈或者手動呼叫xun(5)的next()方法
[x for x in range()]列表推導式
使用生成器可以達到延遲操作的效果,所謂延遲操作就是指在需要的時候產生結果,而不是立即產生結果,節省資源消耗,和宣告乙個序列不同的是生成器,在不適用的時候幾乎是不佔記憶體的。
def getnum(n):
i = 0
while i <= n:
# print(i)
# return i #返回乙個i,結束函式的執行
yield i
i += 1
呼叫函式
getnum(5)
print(getnum(5))
a = getnum(5)
print(next(a))
print(next(a))
print(next(a))
print(next(a))
print(next(a))
print(next(a))
for i in a: #for迴圈遍歷
print(i)
a = (x for x in range(100000))
print(a)
2. send()操作可以將值傳送到上一次yield的地方,a = yield 1這個表示式,如果這個表示式只是x = 1,相信每個人都能理解是把1的值賦給了x,而現在等號右邊是乙個yield 1,所以先要執行yield 1,然後才是賦值。yield把1值返回到了呼叫者那裡,因為執行等號右邊的yield就是暫停,所以不會對a賦值,那這個表示式的下一步操作:賦值,卻換句話說a = yield只執行了一般,而send()裡面的值的作用是把值轉進當前的yield
def gen():
i = 0
while i < 5:
temp = yield i # 並不是個賦值操作
print(temp) # 因為yield之後返回結果到呼叫者的地方,暫停執行
i += 1
a = gen()
print(next(a))
print(next(a))
print(a.send('我是a')) # 可以將這個值傳送到上一次yield的地方
3.迭代器
迭代器是python最強大的功能之一,是訪問集合元素的一掌方式。
什麼是迭代物件:可以用for in遍歷的物件都可以叫做是可迭代物件:iterable
迭代器,可以被next()函式呼叫的並不斷返回下乙個值得物件叫做迭代器:iterator,它是乙個可以記住遍歷的位置的物件,迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問結束。
迭代器只能往前不會後退。迭代器有兩個基本的方法:iter()和next()
字串,列表或元組,集合物件都可用於建立迭代器。
list01 = [1, 2, 3, 4, 5]
# print(next(list01)) # list01不是迭代器所以無法呼叫next
a = iter(list01)
print(next(a))
print(next(a))
python學習 python基礎 判斷與迴圈
break continue 關於條件判斷和迴圈,原理與其他語言相通,只是語法不一樣,這裡簡述一下。python中實現條件判斷通過if語句來實現 語法為 也可以通過elif做更細緻的判斷 if condition1 statements1 do something when condition1 i...
python基礎for迴圈和while迴圈(十)
while 迴圈 a 10 while a 0 print a print 結束 for迴圈 a 12345 for item in a print item b 1,2,3,4 for item in b print item c a b c d for item in c print item ...
python基礎(for迴圈和while迴圈)
for 迴圈 for i in range 5 if i 3 continue print loop i print 執行結果 表示迴圈從1開始到10,步長為2 print loop i print 執行結果 2.while 迴圈 1 count 0while true count 1if coun...