0
Pylint告訴我,我在__init__
之外設置了_age
,這在風格上並不好,我明白了原因。但是,如果我使用屬性來確保我的屬性在特定時間間隔內設置,那麼在屬性設置器中設置屬性的確是有意義的。我如何調和這兩個相反的想法?存在屬性時,__init__之外的屬性
class Person:
def __init__(self, age, height, weight):
self.age = age
@property
def age(self):
return self._age
@age.setter
def age(self, age):
if 18 <= age <= 81:
self._age = age
else:
raise ValueError('You are either too old or too young')
如果你使用的是getters/setters,那麼在你的init裏你應該做'self._age = age' – idjaw
'self.age = age'應該是'self._age = age ' –
您應該考慮接受答案,如果它幫助解決您的問題,以幫助將它標記爲*有用*爲未來的讀者。如果沒有,請澄清爲什麼解決方案不起作用。 – idjaw