print
(time.time())
# 獲取當前時間
time.sleep(10)
#讓程式在執行到這個位置的時候停一會兒~~
~~~~
~~~~
~~~~經典示例~~~
~~~~
~~~def
func()
:#被裝飾的函式
time.sleep(
0.01
)print()
deftimmer
(f):
#裝飾器函式
definner()
: start = time.time(
) f(
)#被裝飾的函式
end = time.time(
)print
(end - start)
return inner
func=timmer(func)
func()~
~~~~
~~~~
~~~~
~~~~
~~~~
~~~~
~~~~
~~~~
~~~~
~~~~
~~~~
~~~~
~~~~
~~~~
~~~~
~~~~
~~~~
~~~~
~def
timmer
(f):
#裝飾器函式
definner()
: start = time.time(
) ret = f(
)#被裝飾的函式
end = time.time(
)print
(end - start)
return ret
return inner
@timmer #語法糖 @裝飾器函式名
deffunc()
:#被裝飾的函式
time.sleep(
0.01
)print()
return
'新年好'
# func = timmer(func)
ret = func(
)#inner()
print
(ret
裝飾器的作用 —— 不想修改函式的呼叫方式 但是還想在原來的函式前後新增功能
def
timmer
(f):
#裝飾器函式
definner
(*args,
**kwargs)
: start = time.time(
) ret = f(
*args,
**kwargs)
#f(1,2) #被裝飾的函式
end = time.time(
)print
(end - start)
return ret
return inner
@timmer #語法糖 @裝飾器函式名
deffunc
(a,b)
:#被裝飾的函式
time.sleep(
0.01
)print
(,a,b)
return
'新年好'
#有沒有都是乙個結果
## @timmer #語法糖 @裝飾器函式名
deffunc1
(a):
#被裝飾的函式
time.sleep(
0.01
)print
(,a)
return
'新年好'
func = timmer(func1)
#inner()
ret = func(1,
2)#inner()
ret= func(
'r')
#inner()
print
(ret)
def(f)
:#裝飾器函式,f是被裝飾的函式
definner
(*args,
**kwargs)
:'''在被裝飾函式之前要做的事'''
ret = f(
*args,
**kwargs)
#被裝飾的函式
'''在被裝飾函式之後要做的事'''
return ret
return inner
deffunc
(a,b)
:#被裝飾的函式
time.sleep(
0.01
)print
(,a,b)
return
'新年好'
def():
definner()
:pass
return inner
def(func)
:#qqxing
definner
(*args,
**kwargs)
: ret = func(
*args,
**kwargs)
#被裝飾的函式
return ret
return inner
defqqxing()
:print
(123
)ret = qqxing(
)#inner
print
(ret)
from functools import wraps
def(func)
: @wraps(func)
definner
(*args,
**kwargs)
:'''這是乙個裝飾器函式'''
print
('在被裝飾的函式執行之前做的事'
) ret = func(
*args,
**kwargs)
print
('在被裝飾的函式執行之後做的事'
)return ret
return inner
defholiday
(day)
:'''這是乙個被裝飾的函式'''
print
('全體放假%s天'
%day)
return
'好開心'
print
(holiday.__name__)
print
(holiday.__doc__)
ret = holiday(3)
print
(ret)
wl 20 函式的巢狀操作及知識點
def max a,b return a if a b else b defthe max x,y,z 函式的巢狀呼叫 c max x,y return max c,z print the max 1,2,3 函式的巢狀定義 內部函式可以使用外部函式的變數 a 1def outer a 1def i...
python知識點(八) 函式裝飾器
一 概述 1 用於管理和增強函式和類行為的 2 提供一種在函式或類定義中插入自動執行 的機制 3 特點 更明確的語法 更高的 可維護性 更好的一致性 二 1 使用函式定義裝飾器 def p decorator func def args,kwargs return f p decorator def...
Python裝飾器知識點補充
首先回顧一下關於python裝飾器以及程式設計客棧裝飾器模式 補全根據j a實現裝飾器模式的,我們可以寫下面一段 import logging def use logging func logging.warn s is running func.name return func def foo p...