具有以下类:
class Human:
def __init__(self):
self.age = 0
human = Human()
print(human.age) # 0我想要一些像下面这样的魔术方法。这个神奇的方法让我有机会在被调用的变量返回之前处理它。
class Human:
def __init__(self):
self.age = 0
def __variable_handler__(self, attribute_name):
print(self, attribute_name) # Human instance, 'age'
human = Human()
print(human.age) # 0你可以帮助我,并提示我如何在Python中实现它?
发布于 2019-03-16 08:15:10
我认为你可以使用__getattribute__方法来实现。
代码将如下所示:
class Human:
def __init__(self):
self.age = 0
def __getattribute__(self, attribute_name):
print(self, attribute_name)
try:
return super(Human, self).__getattribute__(attribute_name)
except AttributeError:
return Nonehuman = Human()
print(human.age)输出将为:
<__main__.Human object at 0x11bfa0ef0> age
0https://stackoverflow.com/questions/55191940
复制相似问题