Python中文
首页
教程
问答
标签
搜索
登录
注册
Python无法更改类中item的值
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我是Python新手,不明白为什么我不能这么做。 当我试图改变Packet.ItemData数据包从父对象,它不工作。请参阅代码中的“不起作用”注释。你知道吗</p> <pre><code>import json from copy import deepcopy class Event(): __slots__= 'itemName' def __init__(self, itemName): self.itemName = itemName def encode(self): obj = {} obj['itemName'] = str(self.itemName) return json.dumps(obj) def decode(self, json_Str): obj = json.loads(json_Str) self.itemName = obj['itemName'] class Packet(): __slots__= 'pID', 'itemData' def __init__(self, pID, itemData): self.pID = pID self.itemData = itemData def encode(self): obj = {} obj['pID'] = int(self.pID) obj['itemData'] = str(self.itemData.encode()) return json.dumps(obj) def decode(self, json_Str): obj = json.loads(json_Str) self.pID = obj['pID'] self.itemData = Event(0,'') defaultEvent = Event('Dflt') defaultPacket = Packet(1, defaultEvent) event2 = Event('NoName') print 'event : ', event2.encode() packet3 = deepcopy(defaultPacket) packet3.ItemData = event2; #direct assign doesn't work packet3.ItemData = deepcopy(event2); #deep copy doesn't work packet3.ItemData.itemName = 'Hello' #event this doesn't work print 'packet : ', packet3.encode() </code></pre> <p>我想对数据进行包装,以便在对JSON进行编码和解码时得到我所期望的结果。你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>属性名是<code>itemData</code>,而不是<code>ItemData</code>。如果您将所有<code>packet3.ItemData</code>引用都更改为<code>packet3.itemData</code>,这应该可以正常工作。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
10 回答
如何添加表示整数的擦边字符串?
3 回答
如何添加要在Bokeh中使用的新font.ttf文件?
4 回答
如何添加要显示的矩阵XY轴编号和XY轴
3 回答
如何添加计数?
3 回答
如何添加计数器函数?
2 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
7 回答
如何添加计数器来跟踪while循环中的月份和年份?
4 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
3 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
4 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
9 回答
如何添加评论拉梅尔亚姆
1 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
1 回答
如何添加谷歌地点自动完成到Flask?
3 回答
如何添加超时、python discord bot
1 回答
如何添加超过1dp的检查
6 回答
如何添加距离方法
8 回答
如何添加跟随游戏的敌人精灵
1 回答
如何添加路径以便python可以找到程序?
1 回答
如何添加身份验证/安全性以使用happybase访问HBase?
4 回答