我有这段代码:
class Human(object):
def __init__(self, amount):
self._age = self.age = amount
@property
def age(self):
return self._age
@age.setter
def age(self, amount):
if amount > 50:
self._age = amount
else:
print('You are too young')
我想知道的是,传递给__init__
的参数的可行方法是否通过属性中实现的某种逻辑?我在这里浏览了很多答案并阅读了文档,但我仍然找不到任何关于这样的事情。在创建类的测试实例时,代码按预期工作:
bob = Human(30)
产生适当的警告。之后尝试设置name属性也是如此,当给出正确的参数(在这种情况下,任何数字> 50)时,一切似乎都按预期工作。对此有什么警告吗?如果是,那么解决这个问题的最恐怖的方法是什么?