一、生成器
1、生成器:
生成器就是一種自定義的迭代器
2、為何要用生成器:
為了節省記憶體
3、如何用生成器:
函式體內但凡出現yield關鍵字,呼叫函式將不會觸發函式體**的執行,而是會返回乙個生成器物件,生成器本質就是乙個迭代器
4、yield與return:
相同點:在返回值角度用法一樣
不同點:yield可以返回值多次值,而return只能返回一次
yield可以暫停函式,然後我們可以用next方法觸發函式**的執行-》協程
示例:
def func():
print("11111")
yield 1
print("22222")
yield 2
print("33333")
yield 3
print("4444")
g=func().__iter__()
print(g) # 生成器本質就是乙個迭代器
print(next(g))
print(next(g))
print(next(g))
**********====》
11111
122222
233333
3
def my_range(start,stop,step=1):
while start < stop:
yield start
start+=step
for i in my_range(0,10,2):
print(i)
***************==》02
468
二、三元表示式
三元表示式:if的一種簡易表達
好處:**行數減少,可讀性高
通常的if格式:
def max2(x, y):
if x > y:
return x
else:
return y
res = max2(11, 22)
print(res)
*****====》
22
三元if格式:
x = 11
y = 22
res = x if x > y else y
print(res)
res = "ok" if 10 > 3 else "no"
print(res)
**********==》
22ok
三元表示式,生成式,生成器表示式
使用函式來寫 defmax2 x,y if x y return x else return y res max2 3,4 print res 4?使用三元表示式 x 3 y 4 res x if x y else y print res 3,4 4 函式加三元表示式 defmax2 x,y ret...
三元表示式 推導式和生成器表示式
三元表示式是python為我們提供的一種簡化簡單的流程控制的解決方案 而且在簡化 的基礎上,還不失 的可讀性 條件成立時返回的值 if 條件 else 條件不成立時返回的值 x if x y else y 如果x y就執行x,否則執行y需求 接收兩個數字,返回較大的那個數 不採用三元表示式 def ...
三元表示式 列表生成式 生成器表示式
1三元表示式 三元表示式是python為我們提供的一種簡化 的解決方案,語法如下 res 條件成立時返回的值 if 條件 else 條件不成立時返回的值 針對以下場景 def max2 x,y if x y print x else print y max2 1,2 用三元表示式可以一行解決 x 1...