簡體   English   中英

什么`@`在Python中意味着什么?

[英]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語法使訪問和擴展更加容易。

如果你問這類問題,你可能會對Python的其他隱藏功能感興趣。

那個特定的裝飾器看起來像是來自Django。

通過閱讀關於該裝飾器的Django文檔 ,它可以幫助您更好地理解。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM