2 24作業講解

2022-07-01 06:48:13 字數 3218 閱讀 1296

# 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')

1

import

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

print

(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迴圈迭代取值字串、列表、元組、字典、集合、檔案物件

1

def 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個數,為輸入矩陣...