我正在尝试使用一个方法来实现一个类,该方法使用一个对象调用另一个方法,该对象是最低方法改变 object 的类的一部分。我的实现有点复杂,所以我只发布一些虚拟代码,这样你就可以看到我在说什么:
class test:
def __init__(self,list):
self.obj = list
def mult(self, x, n):
x = x*n
def numtimes(self, n):
self.mult(self.obj, n)
现在,如果我创建这种类型的对象并运行 numtimes 方法,它不会更新 self.obj:
m = test([1,2,3,4])
m.numtimes(3)
m.obj #returns [1,2,3,4]
而我希望它给我 [1,2,3,4,1,2,3,4,1,2,3,4]
基本上,我需要将 self.obj 传递给 mult 方法并让它改变 self.obj 以便当我调用 m.obj 时,我会得到 [1,2,3,4,1,2,3,4, 1,2,3,4] 而不是 [1,2,3,4]。
我觉得这只是理解python如何将对象作为参数传递给方法的问题(就像它正在制作对象的副本,而我需要使用指针),但也许不是。我是 python 新手,真的可以在这里使用一些帮助。
提前致谢!!