Bạn chỉ có thể gán cho thuộc tính __class__
của một phiên bản của lớp do người dùng xác định (nghĩa là sử dụng từ khóa class
) và giá trị mới cũng phải là lớp do người dùng xác định. Các lớp học có phong cách mới hay kiểu cũ không quan trọng. (Bạn không thể kết hợp chúng. Tuy nhiên, bạn không thể biến một thể hiện kiểu cũ thành một thể hiện kiểu mới.) Xem thêm this issue trong trình theo dõi lỗi Python, cũng phàn nàn rằng thông báo lỗi có phần khó hiểu không.
Chỉ cần thêm những gì Rafe đã nói trong nhận xét trên: Không bao giờ thực hiện việc này trong sản xuất.
Nguồn
2011-01-29 17:12:05
@ Rafe: thực sự, Django sử dụng thủ thuật này trong mã xác thực –
vào cuối bữa tiệc, nhưng matplotlib thực hiện điều này trong mã sản xuất (trong một số âm mưu 3D). – tacaswell