Computer >> Máy Tính >  >> Lập trình >> Python

Bạn có thể giải thích metaclass và kế thừa trong Python là gì không?

Mỗi lớp là một đối tượng. Đó là một ví dụ của một cái gì đó được gọi là siêu kính. Metaclass mặc định được nhập. Bạn có thể kiểm tra điều này bằng cách sử dụng hàm is instance. Ví dụ:

class Foo:
   pass

foo = Foo()
isinstance(foo, Foo)
isinstance(Foo, type)

Điều này sẽ cho kết quả:

True
True

Siêu kính không phải là một phần của hệ thống phân cấp lớp của đối tượng trong khi các lớp cơ sở là. Các lớp này được sử dụng để khởi tạo lớp chứ không phải các đối tượng của nó.

Bạn có thể đọc thêm nhiều thông tin chuyên sâu về Metaclasses và sự kế thừa trên https://blog.ionelmc.ro/2015/02/09/und hieu-python-metaclasses/