python decorator. decorator_Python装饰器(decorator)
為了學習這個,一來這彈幕笑死我了,太真實了欸唷,我的天,這里也是相當真實哈哈哈哈哈
先給個普通版本的素數計算代碼
import time
def is_prime(num):
if num<2:
return False
elif num==2:
return True
else:
for i in range(2,num):
if num%i ==0:
return False
return True
def prime_nums():
t1 = time.time()
for i in range(2,10000):
if is_prime(i):
print(i)
t2 = time.time()
print(t2-t1)
prime_nums()
下面給出一個最終的裝飾器格式的代碼
import time
def display_time(func):
def wrapper(*args):#*args 是func所接收的所有參數(可變長參數)
t1 = time.time()
result = func(*args)
t2 = time.time()
print("Total time:{:.4} s".format(t2-t1))
return result
result wrapper
def is_prime(num):
if num<2:
return False
elif num==2:
return True
else:
for i in range(2,num):
if num%i ==0:
return False
return True
@display_time#這樣的話,當調用prime_nums時,將會把prime_nums及其接收的參數作為一個整體傳入display_time
def prime_nums(maxnum):
count = 0
for i in range(2,maxnum):
if is_prime(i):
count = count+1
return count
count = prime_nums(10000)
print(count)
重要的內容都在上面的注釋里啦。(然后,小哥哥講得也太好了,聲音也太好聽了吧,嗚嗚嗚https://www.bilibili.com/video/BV11s411V7Dt?www.bilibili.com
總結
以上是生活随笔為你收集整理的python decorator. decorator_Python装饰器(decorator)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: django mysql connect
- 下一篇: python中list是什么类型_Pyt