python 元类例子
时间: 2024-01-18 21:18:50 浏览: 66
元类是Python中非常特殊且强大的概念,它允许我们在定义类时动态地修改类的行为。下面是一个简单的例子来介绍元类的使用:
```python
class MyMeta(type):
def __new__(cls, name, bases, attrs):
# 修改类的行为
attrs['greeting'] = lambda self: print(f"Hello, {self.name}!")
return super().__new__(cls, name, bases, attrs)
class MyClass(metaclass=MyMeta):
def __init__(self, name):
self.name = name
obj = MyClass("Alice")
obj.greeting() # 输出:Hello, Alice!```
在上面的例子中,我们定义了一个元类`MyMeta`,它继承自`type`。在`MyMeta`的`__new__`方法中,我们可以修改类的属性和方法。在这个例子中,我们添加了一个名为`greeting`的方法,它可以打印出问候语。然后,我们使用元类`MyMeta`来创建类`MyClass`,并在实例化对象时传入一个名为`name`的参数。最后,我们通过调用`greeting`方法来打印出问候语。
阅读全文