Bolehkah Penghias Mengambil Parameter?
Kod cuba menggunakan penghias (@execute_complete_reservation) dengan hujah (insurance_mode), tetapi ia gagal . Ini berlaku kerana penghias dengan parameter mempunyai sintaks yang berbeza.
Sintaks Penghias Disemak:
Penghias dengan parameter mengembalikan fungsi yang mengambil fungsi sebagai hujah, dan kemudian mengembalikan yang lain fungsi. Ia pada asasnya mengembalikan penghias biasa.
def decorator_factory(argument): def decorator(function): def wrapper(*args, **kwargs): # Additional code function(*args, **kwargs) # More additional code return wrapper return decorator
Memohon Penghias:
Menggunakan sintaks ini, kod asal boleh disemak seperti berikut:
@execute_complete_reservation_factory(True) def test_booking_gta_object(self): self.test_select_gta_object()
Dalam kod yang disemak ini, @execute_complete_reservation_factory ialah fungsi kilang yang mengembalikan penghias yang mengambil fungsi ujian sebenar sebagai hujah.
Atas ialah kandungan terperinci Bolehkah Penghias Python Menerima Parameter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!