スペースに文字列full_name
を分割して2つの変数に割り当てると、属性エラーが発生するのはなぜですか?Python string split - 属性エラー
class Person(object):
def __init__(self, full_name):
"""Person initializer"""
self.first_name, self.last_name = full_name.split()
@property
def first_name(self):
return self.first_name
@property
def last_name(self):
return self.last_name
if __name__ == '__main__':
swadhi = Person("Swadhikar Chandramohan")
print swadhi.first_name
print swadhi.last_name
エラー:
C:\Python27\python.exe C:/Users/swadhi/Documents/test/tutorial/inheritance.py
Traceback (most recent call last):
File "C:/Users/swadhi/Documents/test/tutorial/inheritance.py", line 18, in <module>
swadhi = Person("Swadhikar Chandramohan")
File "C:/Users/swadhi/Documents/test/tutorial/inheritance.py", line 6, in __init__
self.first_name, self.last_name = full_name.split(' ')
AttributeError: can't set attribute
ここ
property
を使用する必要はありません。 – itzMEonTV'swadhi = Person(" Swadhikar Chandramohan ")'を 'swadhi = Person(" Swadhikar Chandramohan ".split())' –
@L_Sとして呼ぶ代わりに、 '__init__'に解析コードを追加しないことをお勧めします。それは私の質問のための最も適切な答えです。 –