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,「八「,」IX「])不會修改mL1對象中的_myList屬性。我怎麼能解決這個問題?
你能解決這個缺口?我不確定第二部小說的意圖在哪裏進行。 – 2013-05-05 01:33:32
我不清楚你會期望什麼樣的行爲。應該將'append()'添加到'_myList'(意味着值不會像期望的那樣添加到結尾)或'globalList'?無論哪種方式,很明顯,這是行不通的,因爲返回的值是通過連接兩個其他列表產生的新列表。擴展它不會以某種方式修改回來。 – 2013-05-05 01:33:38
append()應該添加到_myList,那麼extend() – user14042 2013-05-05 01:34:52