這篇文章主要介紹了python中@的用法,文中通過示例**介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
python中@的用法
@是乙個裝飾器,針對函式,起呼叫傳參的作用。
有修飾和被修飾的區別,『@function'作為乙個裝飾器,用來修飾緊跟著的函式(可以是另乙個裝飾器,也可以是函式定義)。
**1
def funa(desa):print("it's funa")
def funb(desb):
print("it's funb")
@funa
def func():
print("it's func")
結果1
it's funa分析1
@funa 修飾函式定義def func(),將func()賦值給funa()的形參。
執行的時候由上而下,先定義funa、funb,然後執行funa(func())。
此時desa=func(),然後funa()輸出『it's funa'。
**2
def funa(desa):print("it's funa")
def funb(desb):
print("it's funb")
@funb
@funa
def func():
print("it's func")
結果2
it's funa分析2it's funb
@funb 修飾裝飾器@funa,@funa 修飾函式定義def func(),將func()賦值給funa()的形參,再將funa(func())賦值給funb()。
執行的時候由上而下,先定義funa、funb,然後執行funb(funa(func()))。
此時desa=func(),然後funa()輸出『it's funa';desb=funa(func()),然後funb()輸出『it's funb'。
**3
def funa(desa):print("it's funa")
print('---')
print(desa)
desa()
print('---')
def funb(desb):
print("it's funb")
@funb
@funa
def func():
print("it's func")
結果3
it's funa分析3< function func at 0x000001a5ff763c80 >
it's func
it's funb
同上,為了更直觀地看引數傳遞,列印desa,其傳的是func()的位址,即desa現在為函式desa()。
執行desa()即執行func(),desa=desa()=func()。
**4
def funa(desa):print("it's funa")
def funb(desb):
print("it's funb")
print('---')
print(desb)
@funb
@funa
def func():
print("it's func")
結果4
it's funa分析4it's funb
none
上面將func()作為引數傳給funa,那麼funa(func())怎麼傳給funb()呢?列印desb,發現並沒有引數傳遞。
是否可以理解為當『裝飾器' 修飾 『裝飾器'時,僅是呼叫函式。
詳解 python 詳解python中 的用法
python中 的用法 是乙個裝飾器,針對函式,起呼叫傳參的作用。有修飾和被修飾的區別,function作為乙個裝飾器,用來修飾緊跟著的函式 可以是另乙個裝飾器,也可以是函式定義 結果1it s funa分析1 funa 修飾函式定義def func 將func 賦值給funa 的形參。執行的時候由...
詳解python 中in 的 用法
in在python中是操作符,具體來說是成員操作符。就是對於序列 字串,元組,列表 或集合 set 或對映 字典 這些資料型別做成員判斷,自然成員判斷的返回是在其中和不在其中,用python的說法就是true,false 也就是說xxin 是可以用在諸如 if程式設計客棧 xx in while x...
python中 的用法詳解
1 表示乘號 2 表示倍數,例如 def t msg,t程式設計客棧ime 1 print msg time t hi 3 列印結果 列印3次 hi hi hi 3 單個 1 如 parameter是用來接受任意多個引數並將其放在乙個元組中。def demo p print 程式設計客棧p demo...