中國史之【鈞臺之享】:
鈞臺,古臺名(今河南省禹州市),泛指帝王游樂的臺觀,《左傳》昭公四年載“夏啟有鈞臺之享”,是指夏啟在襲位后,召集各路諸侯或部落首領在鈞臺舉行大型宴會,表示自己正式繼承王位,
-來源:全歷史APP
今天講python的生成器和裝飾器,有需要的也可以直接去我的github查看全部筆記:
https://github.com/JackKoLing/python_notes_with_ten_days

俗話說:“好記性不如爛筆頭”,多寫寫多記記,總不會錯,多一些不為什么的堅持,少一些功利主義的追求,對于環境的配置,可以參考以下兩篇:
- win10版 @小保,公眾號:CV之道
【深度學習環境配置】手把手實戰配置深度學習環境(win10版) - Linux版 @小保,公眾號:CV之道
【深度學習環境配置】手把手實戰配置深度學習環境(Ubuntu20.04版)
1 簡單示例
# 生成1到10的平方
for i in (j**2 for j in range(1, 11)):
print(i)
>>>
1
4
9
16
25
36
49
64
81
100
# 也可以轉為串列
print(list(i**2 for i in range(1, 11)))
>>>
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
2 生成器(generator)
- 生成器是指含有yield的函式
- 在呼叫生成器運行的程序中,每次遇到 yield 時函式會暫停并保存當前所有的運行資訊,回傳 yield 的值
- 并在下一次執行next() 方法時從當前位置繼續運行
- 因為yield可以回傳,所以不需要寫return陳述句
# 也可以使用含有yield的函式來生成
def gen_num(x):
i = 1
while i <= x:
yield i**2 # 遇到yield就回傳其后面的資訊
i += 1
g1 = gen_num(10) # 回傳的是生成器物件
print(type(g1))
# print(next(g1)) # 輸出一個
for i in g1:
print(i)
>>>
<class 'generator'>
1
4
9
16
25
36
49
64
81
100
3 裝飾器(decorator)
- 裝飾器本身就是一個函式,用于裝飾其他函式
- 用于增強被裝飾函式的功能
- 一般接受一個函式物件作為引數,以對其進行增強
# 使用閉包定義一個裝飾器,通過@來參考裝飾器
def deco(func):
def wrapper(x):
print("please say something:")
func(x)
print("No zuo no die.")
return wrapper
@deco
def show(x):
print(x)
show("I am from Mars.") # 原來函式只說一句話,現在將其增強為說三句話
>>>
please say something:
I am from Mars.
No zuo no die
【宣告】:學習筆記基于互聯網上各種學習資源的個人整理,
以上是本期內容,下期介紹python的遞回函式和函式的設計規范,
我叫小保,一名計算機視覺愛好者、學習者、追隨者,歡迎關注我一起學習,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/339368.html
標籤:其他
