【发布时间】:2017-10-06 11:46:14
【问题描述】:
我创建了一个简单的类,其中的对象具有初始值 x0。当我改变另一个值 x 时,我的 x0 也在改变。
我认为 x0 应该保持不变。你能解释一下为什么会这样吗?
文件 main.py:
import numpy as np
from simpleclass import test
def main():
params = dict()
params['position'] = np.array([1.0, 2.0])
object = test(params)
print(object.x0)
print(object.x)
object.run(2)
print(object.x0)
print(object.x)
if __name__ == "__main__":
main()
文件simpleclass.py:
class test():
def __init__(self, params):
self.x0 = params['position']
self.x = self.x0
def run(self, num):
self.x += self.x*num
结果:
[ 1. 2.]
[ 1. 2.]
[ 3. 6.]
[ 3. 6.]
【问题讨论】:
标签: python class object initialization