Tôi đang viết mô-đun cung cấp một hàm và cần bước khởi tạo, tuy nhiên do các hạn chế nhất định mà tôi cần khởi tạo khi gọi đầu tiên, vì vậy tôi đang tìm kiếm thành ngữ thích hợp trong python. tôi để loại bỏ điều kiện.Thay đổi thực thi hàm trong Python
#with conditional
module.py
initialized = False
def function(*args):
if not initialized: initialize()
do_the_thing(*args)
Tôi muốn thoát khỏi điều đó có điều kiện với một cái gì đó như thế này (nó không hoạt động):
#with no conditional
module.py
def function(*args):
initialize()
do_the_thing(*args)
function = do_the_thing
Tôi nhận ra rằng tôi không thể chỉ sử dụng tên trong module và thay đổi chúng tại thời gian chạy vì các mô-đun sử dụng from module import function
sẽ không bao giờ bị ảnh hưởng với một mô-đun function=other_fun
bên trong mô-đun.
Vì vậy, có bất kỳ thành ngữ pythonic mà có thể làm điều này đúng cách?
google cho 'python trang trí' – Triptych
tôi không thấy làm thế nào một trang trí có thể làm điều này, có điều kiện vẫn còn ở đó nếu bạn kiểm tra giải pháp @graphox, bằng cách sử dụng một máy phát điện hoạt động như mong đợi mặc dù nó cảm thấy một chút lạ. –