Python decorando o setter da propriedade com a lista [duplicate]
Esta questão já tem uma resposta aqui:
python: como ter uma propriedade e com uma função de setter que detecta todas as mudanças que acontecem com o valor 3 respostasglobalList = []
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)
Resultado:
myList: [1, 2, 3]
after appending a 4, myList: [1, 2, 3]
after extend, myList: [1, 2, 3]
O problema que estou enfrentando é que mL1.myList.append (4) e mL1.myList.extend ([5,6, "eight", "IX"]) não modificam o atributo _myList no objeto mL1. Como eu poderia fazer para resolver o problema?