Python: デコレータ

このドキュメントはPythonを学ぶガイドの一部です。完全なガイドはこちらからご覧いただけます:包括的なPythonガイド

👋 Stackhero ドキュメントへようこそ!

Stackhero は、デプロイ作業を効率化するために設計された、すぐに使える Python クラウド ソリューションを提供しています:

  • シンプルな git push だけで、数秒でアプリケーションを本番環境にデプロイできます。
  • ご自身のドメイン名を利用可能で、HTTPS 証明書の自動設定により安全な接続も自動で管理されます。
  • 自動バックアップワンクリックアップデート予測可能な料金体系により、インフラ管理ではなくコードに集中できます。
  • プライベートかつ専用インフラ上で、強力なパフォーマンスセキュリティを実現。お客様の環境は分離され、保護されています。

時間を節約し、ワークフローをシンプルに:Stackhero の Python クラウドホスティング なら、わずか 5分でコードを稼働させることができます。

デコレータを使用すると、関数やクラスのソースコードを変更せずに、その動作を拡張または変更できます。別の関数をラップし、ラップされた関数が実行される前後にいくつかの機能を追加します。

def decorator_function(func):
  def wrapper(*args, **kwargs):
    # 関数を呼び出す前に何かをする
    result = func(*args, **kwargs)
    # 関数を呼び出した後に何かをする
    return result
  return wrapper

@decorator_function
def my_function():
  # 何かをする

例:

def greet_decorator(func):
  def wrapper(name):
    return "Hello, " + func(name) + "!"
  return wrapper

@greet_decorator
def get_name(name):
  return name

print(get_name("John"))  # 出力: Hello, John!