Câu hỏi phỏng vấn Python
Câu hỏi

Metaclasses trong Python là gì?

Câu trả lời

Metaclasses trong Python là một khái niệm nâng cao, được sử dụng để tạo ra các lớp. Một cách đơn giản, metaclass là "lớp của một lớp", nghĩa là nó xác định cách một lớp được tạo ra. Mặc định, Python sử dụng type làm metaclass từ đó tất cả các lớp mới được tạo ra. Tuy nhiên, bạn có thể tạo và sử dụng metaclasses tùy chỉnh của mình để kiểm soát việc tạo lớp một cách linh hoạt hơn.

Cách Hoạt Động của Metaclasses

Khi bạn tạo một lớp mới trong Python, Python sẽ theo dõi metaclass của lớp đó để biết cách tạo lớp. Nếu không có metaclass tùy chỉnh nào được chỉ định, type sẽ được sử dụng. Metaclass cho phép bạn can thiệp vào quá trình tạo lớp, cho phép bạn thêm, sửa đổi hoặc xóa các thuộc tính và phương thức của lớp trước khi lớp được tạo.

Ví dụ Sử Dụng Metaclass

# Định nghĩa một metaclass
class MyMeta(type):
    def __new__(cls, name, bases, dct):
        # Thêm một phương thức mới vào lớp
        dct['new_method'] = lambda self: "Hello from new_method"
        return super().__new__(cls, name, bases, dct)

# Sử dụng me...
senior

senior

Gợi ý câu hỏi phỏng vấn

entry

Biến cục bộbiến toàn cục trong Python là gì?

senior

Closures trong Python là gì?

expert

Có nhược đIểm nào của -O flag ngoàI việc mất thông tin built-in debugging không?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào