Tôi muốn có thể tạo trình trang trí python tự động "đăng ký" các phương thức lớp trong kho lưu trữ toàn cục (với một số thuộc tính).Tự động đăng ký các phương thức lớp bằng cách sử dụng trang trí
Ví dụ mã:
class my_class(object):
@register(prop1,prop2)
def my_method(arg1,arg2):
# method code here...
@register(prop3,prop4)
def my_other_method(arg1,arg2):
# method code here...
Tôi muốn rằng khi tải xong, ở đâu đó sẽ có một dict chứa:
{ "my_class.my_method" : (prop1, prop2)
"my_class.my_other_method" : (prop3, prop4) }
Đây có phải là có thể?
+1 đây là cách để đi (khi bạn thực sự cần một cái gì đó như thế này) –
Nếu bạn có một lớp con, OurClass (MyClass) - và bạn muốn làm điều tương tự? Làm thế nào bạn có thể nhận được __metaclass__ để đi qua các attrs của cả hai cơ sở và trẻ em? – jMyles
@jMyles, Các phương thức của lớp cha đã có trong sổ đăng ký; bạn muốn chúng hiển thị lại như là các phương pháp trên lớp con?Bạn có tuple cơ sở cho lớp con; bạn có thể lặp qua bất kỳ hoặc tất cả các từ điển lớp của lớp cha/cơ sở, cũng như các thuộc tính của lớp con mới, khi thực hiện đăng ký lớp con (nếu đó là ý của bạn). –