裝飾器是增強其他函數的 Pythonic 函數。我們將建立兩個裝飾器 @make_bold 和 @make_italic,以粗體和斜體設定文字格式。具體方法如下:
<h1>將文字變成粗體的裝飾器</h1><p>def make_bold(func):</p><pre class="brush:php;toolbar:false">def wrapper(): return "<b>" + func() + "</b>" # Surround the result with bold tags return wrapper
def make_italic(func):
def wrapper(): return "<i>" + func() + "</i>" # Surround the result with italic tags return wrapper
@make_bold
@make_italic
def say():
return "Hello"
print(say()) # 輸出: "Hello"
您也可以建立接受參數的裝飾器。例如,讓我們建立一個為結果加上時間戳記的裝飾器:
<br>導入時間<h1>為函數添加時間戳記的裝飾器</h1><p>定義add_timesta mp(func):</p><pre class="brush:php;toolbar:false">def wrapper(*args, **kwargs): timestamp = time.ctime() # Get the current time return f"{timestamp}: {func(*args, **kwargs)}" # Prepend the timestamp to the call return wrapper
@add_timestamp
defgreet(name):
return f"Hello, {name}!"
print(greet("John")) # 輸出: "2023-01 -01 12:00:00:你好,約翰!"
裝飾器不僅適用於函數,也適用於方法。以下是裝飾方法的方法:
<br>class User:<pre class="brush:php;toolbar:false">def __init__(self, name): self.name = name
def Capitalize_name(method) :
def wrapper(self): return method(self).capitalize() # Capitalize the result return wrapper
@capitalize_name
def get_name(self):
return self.name
user = User("john")
print(user.get_name()) # 輸出:"John"
以上是如何使用 Python 裝飾器將函數設定為粗體和斜體、添加時間戳記以及將方法結果大寫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!