Python: 裝飾器

此文件屬於學習 Python指南的一部分。請在此處查看完整指南:全面的 Python 指南

👋 歡迎來到 Stackhero 文檔!

Stackhero 提供一個即用型的 Python 雲端 解決方案,帶來多項好處,包括:

  • 只需一個簡單的 git push,即可在幾秒鐘內部署您的應用程式。
  • 使用您自己的域名,並享受 HTTPS 證書的自動配置以增強安全性。
  • 享受自動備份一鍵更新,以及簡單、透明且可預測的定價,讓您安心無憂。
  • 得益於專用的私人 VM,獲得最佳的性能和強大的安全性

節省時間簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Python 雲端託管 解決方案!

裝飾器允許您在不更改源代碼的情況下擴展或修改函數或類別的行為。它們包裝另一個函數,並在執行包裝的函數之前或之後添加一些功能。

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!