首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >已创建并分配给字典的类对象被更改。

已创建并分配给字典的类对象被更改。
EN

Stack Overflow用户
提问于 2020-05-20 07:08:47
回答 1查看 24关注 0票数 1

代码:

代码语言:javascript
复制
import itertools

class pt:
  def __init__(self,x,y):
    pt.x = x
    pt.y = y

tuple_list = list(itertools.product([x+1 for x in range(9)],[x+1 for x in range(9)]))
dict1 = {}
for i in tuple_list:
  dict1[i] = pt(*i)

print(dict1[(3,3)].x)
print(dict1[(3,3)].y)

预期产出:

代码语言:javascript
复制
3
3

输出:

代码语言:javascript
复制
9
9

为什么它输出9 9

我想知道为什么创建并分配给字典的pt对象被更改了。是否需要创建另一个列表来存储pt对象?字典是否只存储对对象(内存位置)的引用,而不是存储对象本身?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-20 07:11:02

变化

代码语言:javascript
复制
pt.x
pt.y

代码语言:javascript
复制
self.x
self.y

现在,每次构造xy时,您都要重写类变量ptpt。您需要的是实例变量。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61907073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档