Penghias ialah fungsi Pythonic yang meningkatkan fungsi lain. Kami akan mencipta dua penghias, @make_bold dan @make_italic, untuk memformat teks dalam huruf tebal dan condong. Begini caranya:
def make_bold(func):
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()) # Output: "Helo"
Anda juga boleh mencipta penghias yang menerima hujah. Sebagai contoh, mari buat penghias yang menambah cap masa pada hasil:
masa import
def add_timestamp(func):
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
def greet(name):
return f"Hello, {name}!"
print(greet("John")) # Output: "2023-01 -01 12:00:00: Hello, John!"
Penghias berfungsi bukan sahaja untuk fungsi tetapi juga untuk kaedah. Begini cara menghias kaedah:
Pengguna kelas:
def __init__(self, name): self.name = name
def capitalize_name(kaedah):
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()) # Output: "John"
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Penghias Python untuk Menjadikan Fungsi Tebal dan Miring, Menambah Cap Masa dan Memodalkan Keputusan Kaedah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!