# 1、編寫課上講解的有參裝飾器準備明天默寫# 2:還記得我們用函式物件的概念,製作乙個函式字典的操作嗎,來來來,
# 我們有更高大上的做法,在檔案開頭宣告乙個空字典,然後在每個函式前加上裝飾器,
# 完成自動新增到字典的操作
1#func_dic = 23
4 func_dic ={}56
#有參裝飾器 x接收的是使用者輸入功能對應的編號
7def outer(x): #
x ---> '1'8#
無參裝飾器
9func --> login, func --> register
10 func_dic[x] = func #
1112
def inner(*args, **kwargs):
13 res = func(*args, **kwargs)
1415
return
res16
17return
inner
1819
return
2021
22 @outer('
1') #
23def
login():
24pass
2526
27 @outer('2'
)28defregister():
29pass
3031
32print(func_dic)
# 3、 編寫日誌裝飾器,實現功能如:一旦函式f1執行,
# 則將訊息2017-07-21 11:12:11 f1 run寫入到日誌檔案中,日誌檔案路徑可以指定
# 注意:時間格式的獲取
# import time
# time.strftime('%y-%m-%d %x')
1import
time23
4#給被裝飾物件新增執行日誌裝飾器
5def
6def inner(*args, **kwargs):78
#在被裝飾物件呼叫前的操作9#
1) 將被裝飾物件的執行日誌 寫入 log.txt檔案中
10 with open('
log.txt
', '
a', encoding='
utf-8
') as f:
11 now_time = time.strftime('
%y-%m-%d %x')
12 func_name = func.__name__
13 log_str = f'
run\n'14
(log_str)
15f.write(log_str)
1617 res = func(*args, **kwargs) #
被裝飾物件的呼叫
1819
#在被裝飾物件呼叫後的操作
2021
return
res22
23return
inner
2425
2627
deff1():28#
time.sleep(10)
29print('
我是f1函式的執行...')
3031
3233
deff2():
34print('
我是f2函式的執行')
35#f1()
3637 f2()
# 4、基於迭代器的方式,用while迴圈迭代取值字串、列表、元組、字典、集合、檔案物件
1def my_iter(obj): #
字串、列表、元組、字典、集合、檔案2#
'tank'.__iter__()
3 iter_obj = obj.__iter__()4
while
true:
5try:6
print(iter_obj.__next__
())7
8except
stopiteration:
9break
1011 my_iter('
tank
')
# 5、自定義迭代器實現range功能
1#res = range(1, 10, 2)2#
print(res)3#
print(type(res)) # 都想象成乙個迭代器45
6def my_range(start, end, move=1): #
10-9
7while start print(start) # 1, 3, 5, 7, 9
9yield
start
10 start += move #
start += 2
1112
1314 res1 = range(1, 10, 2)15#
__str__: range(1, 10, 2)
16print(res1) #
range(1, 10, 2) ---> class range()
1718 res2 = my_range(1, 10, 2) #
19print
(res2)
2021
for line in
res1:
22print
(line)
2324
for line2 in
res2:
25print(line2)
斯坦福CS224n課程作業
作業要求如下 解析 題目要求我們證明 softmax 函式具有常數不變性。解答 對於 x c 的每一維來說,有如下等式成立 softmax x c frac c e c frac e e e frac e e e frac e softmax x 則可知 softmax x softmax x c ...
系統講解課後作業
最近大家一起上了一次關於系統操作演示的課程,是節大課,好幾個講師,你講我聽他反饋。對這次課做乙個總結。一 特別的想法 工作,生活其實是在給你自己做事。你要是放棄自己的話就免談。積極主動 主動與他人溝通 請教問題 有始有終 結合場景有效反饋 做好現在的事,同時為下乙個人著想。這樣不會累,只會讓你越來越...
藍橋杯 遞迴 2 24
回形取數 藍橋杯 基礎練習 問題描述 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入格式 輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。接下來m行每行n個整數,表示這個矩陣。輸出格式 輸出只有一行,共mn個數,為輸入矩陣...