IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python 构造类,类里面对象的属性有列表,不同的对象引用同一个列表造成互相干扰混淆 -> 正文阅读

[Python知识库]python 构造类,类里面对象的属性有列表,不同的对象引用同一个列表造成互相干扰混淆

这个问题我也排查了很久

发现不同对象之间的itemlist的列表又出现混淆,才发现是他们引用了同一个列表

采用 deep.copy 解决这个问题

class fighter():


        def __init__(self, EIOD=100,FTR = "",ALIVE=1,SEX='男',MPAI='',TITLE='',QMD=0,ELEM=[],ATK=20,DEF=5,FL=10,MZ=20, SB=5, HP_MAX=30, MP_MAX=30,TL_MAX=50,FABAO_list=[],WQ='',FJ='',JEWEL1='',JEWEL2='',ITEMLIST=[[],[],[],[],[],[],[]],GOLD=100,skill_set=[],book=[], pic_sprite="", sprite_pos=[500,500]) :
            self.FTR = FTR
            self.EIOD = EIOD
            self.ALIVE=ALIVE
            self.SEX=SEX
            self.MPAI=MPAI
            self.TITLE=TITLE
            self.QMD=QMD
            self.ELEM = copy.deepcopy(ELEM)
            self.ATK=ATK
            self.ATK_TMP=ATK
            self.DEF=DEF
            self.DEF_TMP=DEF
            self.FL=FL
            self.FL_TMP = FL
            self.MZ=MZ
            self.MZ_TMP=MZ
            self.SB=SB
            self.SB_TMP=SB
            self.HP_MAX=HP_MAX
            self.HP=HP_MAX
            self.HP_TMPMAX=HP_MAX
            self.MP_MAX=MP_MAX
            self.MP=MP_MAX
            self.MP_TMPMAX=MP_MAX
            self.TL=TL_MAX
            self.TL_MAX=TL_MAX
            self.TL_TMPMAX=TL_MAX
            self.FABAO_list=copy.deepcopy(FABAO_list)
            self.FJ=FJ
            self.WQ=WQ
            self.JEWEL1=JEWEL1
            self.JEWEL2=JEWEL2
            self.ITEMLIST=copy.deepcopy(ITEMLIST)
            self.GOLD=GOLD
            self.skill_set =copy.deepcopy(skill_set)
            self.book=copy.deepcopy(book)
            self.pic_sprite  = pic_sprite
            self.sprite_pos = copy.deepcopy(sprite_pos)

而不是用原来的?? ? ? ? ? ? self.ITEMLIST=ITEMLIST? 的构造方式。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 16:14:01  更:2022-04-06 16:16:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:39:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码