Tôi có nhu cầu cho các hàm có đối số mặc định phải được đặt ở thời gian chạy hàm (chẳng hạn như danh sách trống, giá trị bắt nguồn từ các đối số hoặc dữ liệu được lấy từ cơ sở dữ liệu) và hiện tôi đang sử dụng sau mẫu để đối phó với điều này:Đối số mặc định động trong hàm python
def foo(bar, baz=None):
baz = baz if baz else blar()
# Stuff
đâu blar()
cung cấp cho các giá trị mặc định thích hợp của baz
mà có thể thay đổi trong khi thực hiện. Tuy nhiên, dòng baz = baz if baz else ...
tấn công tôi là không phù hợp. Có ai khác có một phương pháp tốt hơn để tránh các ràng buộc một thời gian của các đối số chức năng mặc định? Các thư viện nhỏ, đa nền tảng có thể cài đặt bằng pip là các thay thế được chấp nhận.
Cách cũ sẽ tránh việc gán lại không cần thiết khi 'baz' không phải là' Không có'. – chepner