Python: デコレータ

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

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

Stackheroは、数多くの利点を提供するPythonクラウドソリューションを提供しています。主な利点は以下の通りです:

  • シンプルなgit pushでアプリケーションを数秒でデプロイ
  • 独自のドメイン名を使用し、HTTPS証明書の自動設定による強化されたセキュリティを享受。
  • 自動バックアップワンクリックアップデート、そしてシンプルで透明性のある予測可能な価格設定で安心を提供。
  • プライベートで専用のVMによる最適なパフォーマンスと強固なセキュリティを実現。

時間を節約し、生活を簡素化: 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!