class Person: def __init__(self, name): self._name = name @property def name(self): return self._name @name.setter def name(self, name): self._name = name 「あれ?」これどう説明したらいいんだ?と思いました。 おかしな点 さて、どこがおかしいのでしょうか。ところでPythonってオーバーロードありましたっけ? そう、以下の個所は見た感じ、name(self)とname(self, name)の「同じ名前で引数の数が異なる」メソッドが定義できているように見えます。 @property def name(self): return self._name @name.setter def name(self, name): self._name