pythonでcan't set attributeが出る
class Serializer(object): @property def values(self): dict_values = omitempty(self.__dict__) if not dict_values: return None return self.__dict__ class Sma(Serializer): def __init__(self, period: int, values: list) -> None: self.period = period self.values = values if __name__ == '__main__': sma = Sma(1,2)
####### 実行結果 #######
>> sma = Sma(
>> self.values = values
AttributeError: can't set attribute
####### 解説 #######
上記のAttributeErrorのメッセージはSerializerクラスの
関数のvaluesと継承先のSmaクラスの「self.values = values」
と被ったために起こったエラーである。
解決策は 「def values(self):」
のvaluesをvalueに変更すれば良い。
変数名と関数名は同じではいけないということらしい。
まだまだ勉強不足ですな。