答えて
それはデコレータ構文です。
関数定義は、1つ以上のデコレータ式でラップすることができます。デコレータ式は、関数が定義されると、関数定義を含むスコープ内で評価されます。結果は呼び出し可能でなければなりません。これは関数オブジェクトを唯一の引数として呼び出されます。戻り値は、関数オブジェクトではなく関数名にバインドされています。複数のデコレータがネストされた形で適用されます。
@login_required def my_function(): pass
は、このやっての単なる空想の方法です::だから、このような何かやっ
詳細は
def my_function():
pass
my_function = login_required(my_function)
を、the documentationをチェックしてください。
pie syntaxとも呼ばれるデコレータ。それは、あなたが別の関数で関数を「装飾」することを可能にします。あなたはすでにstaticmethod()とclassmethod()でデコレーションしています。パイ構文を使用すると、アクセスと拡張がより簡単になります。
、その選択についての議論中。私はそれがJavaの伝統的なネーミングから来ると思います http://wiki.python.org/moin/PythonDecorators#A1.piedecoratorsyntax –
このタイプの質問をすると、おそらく他のhidden features of Pythonに興味があります。
デコレータのためのいくつかのリソース: decorator、 PEP 318: Decorators for Functions and Methods、 PythonDecoratorsと PythonDecoratorLibrary。
decorator article on DDJおよび another article(ブログ記事)です。
その特定のデコレータは、Djangoから来ているようです。
このデコレータについては、Django documentationを読んで理解を深めるのに役立ちます。
- 1. Pythonの[...]の意味は何ですか?
- 2. [[...]]はPythonで何を意味しますか?
- 3. Pythonで%xPとは何を意味していますか?
- 4. `if name ==" __main __ "`はPythonで何を意味しますか?
- 5. この行は、python openpyxlで何を意味しますか?
- 6. "Bucket"はPythonで何を意味しますか?
- 7. 意味論は何を意味しますか?
- 8. [...]はPythonの出力として何を意味しますか?
- 9. Pythonで何が意味するのか
- 10. IndexOutofRangeExceptionは何を意味しますか?
- 11. !viは何を意味しますか?
- 12. {login}は何を意味しますか
- 13. force_reloadは何を意味しますか?
- 14. コンパイラは何を意味しますか?
- 15. (+ var)は何を意味しますか
- 16. getActivity()は何を意味しますか?
- 17. グローバルステップは何を意味しますか?
- 18. "="は何を意味しますか
- 19. エラーメッセージは何を意味しますか?
- 20. *は何を意味しますか?
- 21. new()は何を意味しますか?
- 22. {}は何を意味しますか?
- 23. バックスラッシュは何を意味しますか?
- 24. Failed_Reason_Other_Than_A_Connection_Already_Existsは何を意味しますか?
- 25. ^は何を意味しますか?
- 26. .html()は何を意味しますか?
- 27. javascript:voidは何を意味しますか?
- 28. UnmappableCharacterExceptionは何を意味しますか?
- 29. フラットは何を意味しますか?
- 30. 「ネットワークパフォーマンス」は何を意味しますか?
この質問に対する回答ではありません。 wikiの – NicDumZ