๐ŸŽ New User? Get 20% off your first purchase with code NEWUSER20 ยท โšก Instant download ยท ๐Ÿ”’ Secure checkout Register Now โ†’
Menu

Categories

Python Advanced

What is Python Metaclass?

A class whose instances are classes themselves โ€” the class of a class that controls how classes are created and behaved.

Metaclasses define how classes are constructed. When Python encounters a class statement, it calls the metaclass to create the class object. The default metaclass is type. Custom metaclasses can validate class definitions, automatically register classes, add methods/attributes, enforce coding standards, and implement ORMs. Django models use metaclasses extensively to convert class attributes into database fields. While powerful, metaclasses are rarely needed โ€” most use cases are better served by class decorators or __init_subclass__. Tim Peters' advice: Metaclasses are deeper magic than 99% of users should ever worry about.

Related Terms

Module
A Python file containing definitions and statements that can be imported and reused in other Python programs.
Docstring
A string literal placed as the first statement in a module, class, or function to document its purpose and usage.
Python Wheel
A built distribution format (.whl) that allows faster installation of Python packages by avoiding the need for compilation.
Python Packaging with Poetry
A modern dependency management and packaging tool for Python that simplifies project setup, versioning, and publishing.
Decorator
A function that modifies or extends the behavior of another function or class without changing its source code.
Pytest
A testing framework for Python that simplifies writing and running tests with powerful features like fixtures and parametrize.
View All Python Terms โ†’