python呼叫函式可以提供 key=value 代表這個引數的值,我們可以不用根據函式定義順序來呼叫函式。。。。
(*a,**b) 可以作為裝飾器提供不定引數。。。使裝飾器和被裝飾函式 耦合度大幅度降低
函式 def func():
return 1
///返回 函式的名字
func.__name__
//通過裝飾器實現類的靜態方法
class class:
@staticmethod
def ok():
print "ok"
class.ok()
/不定引數裝飾器
#encoding=utf-8
def deco(func):
def _infunc(*args,**kvargs):
print("before myfunc() called.")
func(*args,**kvargs)
print("after myfunc() called.")
return _infunc
@deco
def myfunc(a,b):
print "a+b=",a+b
@deco
def myfunc1(a,b,c):
print "a+b+c=",a+b+c
myfunc(1,2)
myfunc1(b=1,a=100,c=8)
裝飾器帶引數的 不定引數裝飾器
#encoding=utf-8
def decco(arg):
def _deco(func):
def _infunc(*args,**kvargs):
print("before myfunc() called. args:%s" % arg)
func(*args,**kvargs)
print("after myfunc() called.args:%s" % arg)
return _infunc
return _deco
@decco("aaa")
def myfunc(a,b):
print "a+b=",a+b
@decco("bbb")
def myfunc1(a,b,c):
print "a+b+c=",a+b+c
myfunc(1,2)
myfunc1(b=1,a=100,c=8)
python簡單裝飾器 python裝飾器簡單使用
理解裝飾前先理解python閉包的概念 下面是對裝飾器的簡單舉例 實質 是乙個函式 引數 是你要裝飾的函式名 並非函式呼叫 返回 是裝飾完的函式名 inner 作用 為已經存在的物件新增額外的功能 特點 不需要對物件做任何的 上的變動 被裝飾的函式無引數 def decorate func 裝飾器列...
python 簡單的裝飾器
今天我們講一講python中的裝飾器。可能初次接觸裝飾器的同學會覺得它很難,其實也就那麼一回事兒,今天就讓我們會會它!首先它的本質是函式,它的功能是為其他函式新增附加功能。ps 它有兩個原則 1.不能修改被修飾的函式的 2.不能更改被修飾函式的呼叫函式。我所認為的裝飾器其實就是 裝飾器 高階函式 函...
簡單易懂的python裝飾器
利用高階函式和閉包,實現不改變已實現的功能和呼叫方式的情況下增加功能 def log func def inner args,kw print call s func.name return func args,kw return inner log def now print 2015 3 25 ...