pythonbeginner
Metaprogramming
Advanced Python pattern: metaprogramming
pythonPress ⌘/Ctrl + Shift + C to copy
def add_repr(cls):
def __repr__(self):
vals = ', '.join(f"{k}={v!r}" for k, v in self.__dict__.items())
return f"{cls.__name__}({vals})"
cls.__repr__ = __repr__
return cls
@add_repr
class User:
def __init__(self, name: str):
self.name = name
print(User('alice'))Use Cases
- advanced programming
- patterns
Tags
Related Snippets
Similar patterns you can reuse in the same workflow.
pythonbeginner
Type Hints
Advanced Python pattern: type-hints
Best for: advanced programming
#python#advanced
pythonintermediate
Dataclass
Advanced Python pattern: dataclass
Best for: advanced programming
#python#advanced
pythonadvanced
Abc Abstract
Advanced Python pattern: abc-abstract
Best for: advanced programming
#python#advanced
pythonbeginner
Enum Types
Advanced Python pattern: enum-types
Best for: advanced programming
#python#advanced