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