You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python数据库类添加表后字典未保存问题求助

问题原因解析

问题核心在于你每次调用DataBase()时,都会创建一个全新的Database类实例,不同实例的self.data属性完全独立,互相没有关联:

  • 执行DataBase().addTable(tableName)时,你创建了一个临时的Database实例,调用addTable确实给这个实例的self.data添加了表,但这个实例没有被保存到任何变量中,执行完毕后就会被Python的垃圾回收机制销毁。
  • 紧接着执行DataBase().data时,你又创建了一个全新的Database实例,这个实例的self.data是在__init__方法中初始化的空字典,自然输出{}。

修正写法

要解决这个问题,你需要创建一个实例并保存它的引用,之后所有操作都基于同一个实例:

tableName = "table"
# 创建实例并保存到变量db中
db = DataBase()
# 对同一个实例调用addTable方法
db.addTable(tableName)
# 访问同一个实例的data属性
print(db.data)
# 输出: {'table': {}}

简单来说,你之前的操作相当于每次都新建一个空数据库,给第一个空数据库加了表,却去查看第二个新空数据库的内容,当然看不到添加的表。

内容的提问来源于stack exchange,提问作者CuriousCoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 14:36:34