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...