Metaclass – Tùy biến hành vi của class
Metaclass cho phép bạn thay đổi cách class được tạo ra.
class Meta(type):
def __new__(cls, name, bases, dct):
dct['hello'] = lambda self: print("Hello from Meta")
return super().__new__(cls, name, bases, dct)
class MyClass(metaclass=Meta):
pass
obj = MyClass()
obj.hello()
Dùng nhiều trong frameworks như Django, SQLAlchemy
Không có bình luận