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!