3
A
回答
30
它是修飾語法。
函數定義可以被一個或多個裝飾器表達式包裝。在包含函數定義的作用域中定義函數時,對裝飾器表達式進行求值。結果必須是一個可調用的函數,它是以函數對象作爲唯一參數來調用的。返回的值綁定到函數名稱而不是函數對象。多個裝飾器以嵌套的方式應用。
所以做這樣的事情:
@login_required
def my_function():
pass
就是這樣做的一個奇特的方式:
def my_function():
pass
my_function = login_required(my_function)
如需更多信息,請查看the documentation。
1
1
裝飾者,也被稱爲pie syntax。它允許你用另一個功能「裝飾」一個功能。您已經使用staticmethod()和classmethod()進行了裝飾。餡餅語法使訪問和擴展變得更加容易。
+0
來自維基,在關於選擇的討論中。我認爲它來自java傳統命名 http://wiki.python.org/moin/PythonDecorators#A1.piedecorators語言 – 2009-06-28 00:31:38
2
如果你問這種類型的問題,你可能會對其他hidden features of Python感興趣。
0
1
這個特定的裝飾看起來像來自Django。
通過閱讀關於該裝飾器的Django documentation,可以幫助您更好地理解。
相關問題
- 1. Python中「|」符號的含義是什麼?
- 2. * = python中的含義是什麼?
- 3. 什麼是** xyz在python中的含義?
- 4. %s在Python中的含義是什麼?
- 5. 「*」在Python中的含義是什麼?
- 6. python中的[...]含義是什麼?
- 7. %py在python中的含義是什麼?
- 8. python wrapper輸出的含義是什麼?
- 9. * =在Python中的含義是什麼,它爲什麼用於=?
- 10. DTMobileIS的含義是什麼?
- 11. if(';')的含義是什麼?
- 12. ui.draggable.draggable的含義是什麼?
- 13. URL的含義是什麼
- 14. android:backgroundDimAmount的含義是什麼?
- 15. 什麼是java.io.tmp的含義
- 16. !int_variable--?的含義是什麼!
- 17. 什麼是WindowsIdentity的含義
- 18. CronJobs的含義是什麼?
- 19. 「error_subcode」的含義是什麼
- 20. xmlns:android的含義是什麼?
- 21. $ @的含義是什麼?
- 22. SootMethod.getSubSignature()的含義是什麼?
- 23. view.bounds.origin的含義是什麼?
- 24. 「UseTaskFriendlySynchronizationContext」的含義是什麼?
- 25. DFA的含義是什麼?
- 26. configureDefaultServletHandling的含義是什麼?
- 27. Python中「from ...engine import Layer」中「..」的含義是什麼?
- 28. iOS中的PkgInfo的含義是什麼
- 29. swift中的NSMutableDictionary.lazy的含義是什麼?
- 30. F#中的NumericLiteralN的含義是什麼?
這不是問題的答案。 – NicDumZ 2009-06-28 00:35:57