Python-閉パッケージと装飾器
1408 ワード
前にPythonを勉強していたノートを整理して記録します.
クローズドパッケージ
デコレーション
クローズドパッケージ
:
, ,
, , 。
:
, , 。
:
1.
2.
3.
:
def func(a, b):
def func_in(x):
return a * x + b
#
return func_in
if __name__ == '__main__':
ts = func(1, 1)
#
print(ts(2))
デコレーション
:
1. 。
2. python , , 。
3. 。
:
(Agrument checking)
(Caching)
(Proxy)
(Context Provider)
/ :
:
def add_fun(func3):
#
def fun_in(*args, **kwargs):
print("---add----")
#
ret = func3(*args, **kwargs)
return ret
return fun_in
#
@add_fun
def func(fun):
print("fun ", fun)
#
@add_fun
def func1():
return "func1"
if __name__ == '__main__':
func(123)
ret = func1()
print(ret)
: