Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!

Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount

デコレータ


デコレータを使用すると、関数メソッド、およびクラスのような呼び出し可能なオブジェクトに対して簡単な修正を行うことができます。このチュートリアルでは関数を扱います。構文としては

は次と同等です:

ご覧のとおり、デコレータは関数を受け取って返す別の関数にすぎません。例えば、このようにすることができます:

これにより、関数が2回繰り返されます。

出力を変更することもできます

入力を変更

およびチェックを行います。

例えば、出力を変数の量で乗算したいとします。この場合、デコレータを定義して次のように使用できます:

古い関数を使って何でもできます。場合によっては完全に無視することもできます!高度なデコレータは、ドキュメントストリングや引数の数を操作することもできます。さまざまなデコレータを見つけるには、http://wiki.python.org/moin/PythonDecoratorLibraryをご覧ください。

Exercise

1つの引数を持つ関数をデコレートするデコレータを返すデコレータファクトリを作成してください。ファクトリは1つの引数、つまり型を受け取り、関数が入力の型を確認することを目的としたデコレータを返すべきです。もし間違っていた場合は、print("Bad Type") と表示されなければなりません(現実にはエラーを発生させるべきですが、このチュートリアルではエラー発生については扱いません)。チュートリアルコードと期待される出力を見て、それが何であるか確認してください(私だったら混乱するでしょう)。isinstance(object, type_of_object) や type(object) が役立つかもしれません。

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!

Previous Tutorial Next Tutorial Take the Test
Copyright © learnpython.org. Read our Terms of Use and Privacy Policy