๐ŸŽ 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

Generator
A function that yields values one at a time using the yield keyword, enabling memory-efficient iteration over large datasets.
Dictionary
A built-in data structure that stores key-value pairs with O(1) average lookup time using hash tables.
Celery
A distributed task queue for Python that enables asynchronous processing of background jobs and scheduled tasks.
Lambda Function
An anonymous, single-expression function defined inline using the lambda keyword.
ABC (Abstract Base Class)
A class that defines a common interface for subclasses by declaring abstract methods that must be implemented.
Python Context Variable
A variable that maintains separate values for each execution context, enabling implicit state passing in async code without global variables.
View All Python Terms โ†’