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
非常感謝!