182. Metaclasses
Snippet 1: Basic Metaclass Example
Copy
class MyMeta(type):
def __new__(cls, name, bases, dct):
print(f"Creating class {name}")
return super().__new__(cls, name, bases, dct)
class MyClass(metaclass=MyMeta):
pass
# Output: Creating class MyClassSnippet 2: Adding Custom Attributes to Classes
Copy
class AttributeAddingMeta(type):
def __new__(cls, name, bases, dct):
dct['custom_attribute'] = "Hello from metaclass"
return super().__new__(cls, name, bases, dct)
class MyClass(metaclass=AttributeAddingMeta):
pass
print(MyClass.custom_attribute) # Output: Hello from metaclassSnippet 3: Validating Class Attributes
Copy
Snippet 4: Modifying Methods in a Class
Copy
Snippet 5: Enforcing Singleton Pattern
Copy
Snippet 6: Dynamically Creating Classes
Copy
Snippet 7: Customizing Class Instantiation
Copy
Snippet 8: Preventing Class Inheritance
Copy
Snippet 9: Adding Class Methods Automatically
Copy
Snippet 10: Counting Class Instances
Copy
Last updated