Tôi chỉ đọc bài How can I assign a new class attribute via __dict__ in python? và đã có một bình luận từ @bruno desthuilliers nói:setattr (đối tượng, tên, giá trị) vs đối tượng .__ setattr __ (tên, giá trị)
Chúng ta không nên trực tiếp gọi kỳ diệu các phương thức - chúng ở đây khi triển khai các toán tử hoặc các hàm chung. Trong trường hợp này, giải pháp thành ngữ là sử dụng
setattr(obj, name, value)
.
Trường hợp của setattr có vẻ nằm ngoài phạm vi nhận xét của riêng mình: không phải là toán tử, không thực sự thực hiện chức năng chung.
Ai đó có thể giải thích nhận xét? Tại sao tôi nên thích cái này hơn cái kia?
Trường hợp nào thích hợp hơn khi sử dụng obj.__setattr__(name, value)
?
nhờ @Martijn câu trả lời tuyệt vời –