Python: 裝飾器

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

👋 歡迎瀏覽 Stackhero 文件!

Stackhero 為您提供即用型的 Python cloud 解決方案,專為簡化您的部署流程而設:

  • 只需一個簡單的 git push,即可於數秒內將您的應用程式部署到生產環境。
  • 支援自訂網域名稱,並為您自動配置 HTTPS 憑證,確保連線安全。
  • 享有自動備份一鍵更新可預測收費,讓您專注於開發程式碼,而無需煩惱基礎設施管理。
  • 專屬私有基礎設施上運行,確保高效能高安全性,您的環境將被隔離及保護。

節省時間簡化您的工作流程:利用 Stackhero 的 Python cloud hosting,您的程式碼最快只需 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!