Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Fungsi Penghias Berfungsi, dan Bagaimana Ia Boleh Dirantai?

Bagaimana Fungsi Penghias Berfungsi, dan Bagaimana Ia Boleh Dirantai?

Patricia Arquette
Patricia Arquetteasal
2024-12-27 03:13:11416semak imbas

How Do Function Decorators Work, and How Can They Be Chained?

Penghias Fungsi dan Rantai

Apakah itu Penghias Fungsi?

Penghias ialah fungsi yang mengubah suai fungsi lain. Mereka menyediakan cara untuk meningkatkan atau memanjangkan gelagat fungsi tanpa mengubah suainya secara langsung.

Sintaksis:

@decorator_function
def function_to_decorate():
    # Function body

Penghias Rantai

Penghias boleh dirantai, bermakna anda boleh menggunakan berbilang penghias pada fungsi yang sama. Urutan di mana anda merantai penghias adalah penting.

@decorator2
@decorator1
def function_to_decorate():
    # Function body

Dalam contoh ini, penghias1 akan digunakan dahulu, diikuti oleh penghias2.

Contoh

Untuk mencapai yang diingini output, anda boleh mencipta penghias tersuai:

# Decorator for bolding text
def makebold(fn):
    def wrapper():
        return "<b>" + fn() + "</b>"
    return wrapper

# Decorator for italicizing text
def makeitalic(fn):
    def wrapper():
        return "<i>" + fn() + "</i>"
    return wrapper

@makebold
@makeitalic
def say():
    return "Hello"

print(say())  # Output: "<b><i>Hello</i></b>"

Dalam contoh ini, penghias @makebold digunakan pertama, diikuti oleh @makeitalic. Outputnya ialah "Hello" yang disertakan dalam teg tebal dan condong.

Atas ialah kandungan terperinci Bagaimana Fungsi Penghias Berfungsi, dan Bagaimana Ia Boleh Dirantai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn