@
符號用作函式修飾符是python2.4新增加的功能,修飾符必須出現在函式定義前一行,不允許和函式定義在同一行。乙個修飾符就是乙個函式,它將被修飾的函式做為引數,並返回修飾後的同名函式或其它可呼叫的東西。
def
f1(arg):
print("function f1")
rl = arg()
print(rl)
return rl + " f1 return"
# 這裡 @ 符作符相當於 f1(f2())
@f1def
f2(arg=""):
print("function f2")
return arg + "f2 return"
print("------")
print(f2)
# traceback --- typeerror: 'str' object is not callable
# 因為f1()中的rl = arg()沒有引數
# print(f2("1"))
# output:
# function f1
# function f2
# f2 return
# ------
# f2 return f1 return
這種方式可以傳遞引數:
import sys
debug_log = sys.stderr
deff1
(arg):
print("function f1")
defcallf
(*args, **kwargs):
debug_log.write('first argument: {}\n'.format(args[0]))
rl = arg(*args, **kwargs)
print(rl)
return rl + " f1 return"
return callf
@f1def
f2(arg=""):
print("function f2")
return arg + "f2 return"
print("------")
print(f2('sss'))
# output:
# first argument: sss
# function f1
# ------
# function f2
# sssf2 return
# sssf2 return f1 return
python 修飾符 python 修飾符
修飾符基礎 閉包 什麼是閉包呢?標準的概念大家可以看wikipedia上的解釋 舉個例子 def do add base def add increase return base increase return add do add函式裡巢狀了乙個內層函式add,這個內層函式就是乙個閉包,其實可以也...
python 修飾符 python訪問修飾符
許可權訪問 偽許可權,只是壓縮時按規則換了變數名,python 的哲學是假定使用者都會使用 xx 以單下劃線開頭的表示的是protected型別的變數。即保護型別只能允許其本身與子類進行訪問。若內部變數標示,如 當使用 from m import 時,不會將以乙個下劃線開頭的物件引入 成俗約定,不做...
python修飾符用法 python修飾符
乾貨大禮包!21天帶你輕鬆學python 文末領取更多福利 本課程來自於千鋒教育在阿里雲開發者社群學習中心上線課程 python入門2020最新大課 主講人姜偉。21天帶你輕鬆學python python 是乙個高層次的結合了解釋性 編譯性 互動性和物件導向的指令碼語言。大資料 人工智慧時代首選程式...