0
考虑下面的代码的静态属性:使用元类访问子
def print_name(*args, **kwargs):
cls = type(*args, **kwargs)
print "hello " + cls.name
return type.__new__(*args, **kwargs)
class B(object):
__metaclass__ = print_name
name = 'animal'
class C(B):
name = "zebra"
class D(B):
name = "pig"
我想要实现的是有功能print_name可以在B子类(C和d)打了个电话,让它会打印名称为的静态属性。所以期望的输出应该看起来像这样 -
animal
zebra
pig
非常感谢!