我们可以重载类对象的行为吗?
这个问题在这里已经有了答案:
您可以使用元类:
class SampleMeta(type):
def __str__(cls):
return ' I am a Sample class.'
Python 3:
class Sample(metaclass=SampleMeta):
pass
Python 2:
class Sample(object):
__metaclass__ = SampleMeta
输出:
I am a Sample class.
元类是类的类。 它与类的关系类似于类到实例的关系。 使用相同的class
语句。 从object
继承表单type
使它成为一个元类。 按照惯例, self
被cls
取代。