答えて
それはデコレータ構文です。
関数定義は、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. `if name ==" __main __ "`はPythonで何を意味しますか?
- 3. [[...]]はPythonで何を意味しますか?
- 4. "Bucket"はPythonで何を意味しますか?
- 5. [...]はPythonの出力として何を意味しますか?
- 6. Pythonのバージョンラインは何を意味しますか?
- 7. getActivity()は何を意味しますか?
- 8. (+ var)は何を意味しますか
- 9. IndexOutofRangeExceptionは何を意味しますか?
- 10. UnmappableCharacterExceptionは何を意味しますか?
- 11. バックスラッシュは何を意味しますか?
- 12. {}は何を意味しますか?
- 13. new()は何を意味しますか?
- 14. 「ネットワークパフォーマンス」は何を意味しますか?
- 15. javascript:voidは何を意味しますか?
- 16. NSDecimalAdd() - constの意味は何を意味するのですか?
- 17. Pythonでは/ =演算子の意味は何ですか?
- 18. PythonではNone = eの意味は何ですか?
- 19. 客観的な意味での意味は何ですか?
- 20. MYSQLI_NUMは何を意味し、何をしますか?
- 21. PythonでUnorderable Typeエラーの意味は何ですか?
- 22. Pythonのアンパックでコンマの意味は何ですか?
- 23. PythonとXHTMLでこのエラーの意味は何ですか?
- 24. python/numpyで行列** 2の意味は何ですか?
- 25. このPython文字列で{0}は何を意味していますか?
- 26. これらの演算子の意味は何ですか(**、^、%、//)? - Python?
- 27. Pythonのこれらのシンボルの意味は何ですか?
- 28. この(冗長な)Python式の意味は何ですか?
- 29. Bash: '$(())'は 'expr'を意味し、 '[]'は 'テスト'を意味しますか?
- 30. protobufでは "1"、 "2"、 "3"は何を意味しますか?
この質問に対する回答ではありません。 wikiの – NicDumZ