[英]What does `@` mean in Python?
@
在Python中意味着什么?
示例: @login_required
等
它是裝飾器語法。
函數定義可以由一個或多個裝飾器表達式包裝。 在包含函數定義的作用域中定義函數時,將評估Decorator表達式。 結果必須是可調用的,以函數對象作為唯一參數調用。 返回的值綁定到函數名稱而不是函數對象。 多個裝飾器以嵌套方式應用。
所以做這樣的事情:
@login_required
def my_function():
pass
這只是一種奇特的方式:
def my_function():
pass
my_function = login_required(my_function)
有關更多信息,請查看文檔 。
這是一個裝飾。 更多信息: http : //www.ibm.com/developerworks/linux/library/l-cpdecor.html
裝飾器,也稱為派語法 。 它允許您使用其他功能“裝飾”一個功能。 你已經使用staticmethod()和classmethod()進行了裝飾。 pie語法使訪問和擴展更加容易。
那個特定的裝飾器看起來像是來自Django。
通過閱讀關於該裝飾器的Django文檔 ,它可以幫助您更好地理解。
decorator的一些資源: decorator , PEP 318:函數和方法的裝飾器 , PythonDecorators和PythonDecoratorLibrary 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.