globalList = []
class MyList:
def __init__(self):
self._myList = [1, 2, 3]
@property
def myList(self):
return self._myList + globalList
@myList.setter
def myList(self, val):
self._myList = val
mL1 = MyList()
print("myList: ", mL1.myList)
mL1.myList.append(4)
print("after appending a 4, myList: ", mL1.myList)
mL1.myList.extend([5,6,"eight","IX"])
print("after extend, myList: ", mL1.myList)
myList: [1, 2, 3]
after appending a 4, myList: [1, 2, 3]
after extend, myList: [1, 2, 3]
私が直面しています問題は、そのmL1.myList.append(4)とmL1.myList.extendは([5,6、 "8です"、" IX "])は、mL1オブジェクトの_myList属性を変更しません。問題を解決するにはどうすればよいですか?
あなたはインデントを修正もらえますか?私は第二のフィクションがどこにインデントされるべきかわからない。 –
あなたはどんな振る舞いを期待しているのかは分かりません。 'append()'は '_myList'に追加するべきです(値が最後に追加されないことを意味します)か' globalList'ですか?どちらの方法でも、戻り値が2つの他のリストを連結して生成された新しいリストであるため、これはうまくいかないことは明らかです。それを伸ばしても何とか戻ってくることはありません。 –
append()は_myListに追加する必要があり、extend()も同様です – user14042