python實用小技巧之裝飾器

2021-10-05 02:36:16 字數 1578 閱讀 4173

python的裝飾器:

假設我們要給很多函式統計函式執行時間,一般情況我們會給每個函式做如下處理:

import time

deffun()

t1 = time.time(

) 函式體...

t2 = time.time(

)print

(t2-t1)

如果加上裝飾器以後就不需要每個函式都做上面的處理。

import time

defshow_distance_time

(func)

:def

(*args)

: t1 = time.time(

) res = func(

*args)

t2 = time.time(

)print

(func.__name__,

"time"

, t2 - t1 )

return res

# 判斷該數是否為質數

defis_prime

(num)

:if num <2:

return

false

if num ==2:

return

true

mid =

int(num**

(0.5))

for i in

range(2

, mid +1)

:if num % i ==0:

return

false

return

true

# 統計start到end之間質數的個數

@show_distance_time

defcount_prime_nums

(start, end)

:if start > end :

return

0 count =

0for i in

range

(start, end+1)

:if is_prime(i)

: count +=

1return count

# 求1到end的和

@show_distance_time

defsum_until

(end)

: sum1 =

0for i in

range

(end)

: sum1 += i

return sum1

if __name__ ==

"__main__"

: count_prime_nums(1,

200000

) sum_until(

200000

)

output:

count_prime_nums time 0.33507466316223145

sum_until time 0.006981849670410156

python實用小技巧之lambda

如果我們想寫如下這樣乙個函式 一般情況我們會這樣寫 def func a,b,c,d,e,f,x,y return a x x b x y c y y d x e y f 有一種可讀性更強的寫法 利用lambda lambda a b a 輸入,b 輸出 def func a,b,c,d,e,f r...

Python實用小技巧

pyplot 使用rc配置檔案來自定義圖形的各種預設屬性,被稱為rc配置或rc引數。在pyplot中幾乎所有的預設屬性都是可以控制的,但是由於預設的pyplot字型並不支援中文字元的顯示,所以需要通過設定相應的引數來改變繪圖時的字型,使中文字元能夠正常顯示。其具體設定如下 方法一 plt.rcpar...

Python裝飾器掌握技巧

一 coding utf 8 二def login checking fun name 三 def inner 四 print 登入驗證.五 return fun name 六 return inner 七 login checking login checking login 八def login...