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

Python中打印hashtable输出内存地址而非实际值如何解决

问题解决方案

解决Package对象打印仅显示内存地址的问题

Python打印自定义类的实例对象时,默认会输出类归属和内存地址,只需要在Package类中添加__str__方法自定义打印内容即可,如果希望直接打印哈希表的table属性也能输出可读内容,额外新增__repr__的指向配置即可。修改后的Package类代码如下:

class Package:
    def __init__(self, ID, Address, City, State, Zip, Deadline, Weight, Notes, Status, Deliverytime):
        self.packageID = ID
        self.packageAddress = Address
        self.packageCity = City
        self.packageState = State
        self.packageZip = Zip
        self.packageDeadline = Deadline
        self.packageWeight = Weight
        self.packageNotes = Notes
        self.packageStatus = Status
        self.deliveryTime = Deliverytime

    # 自定义实例打印输出的内容
    def __str__(self):
        return f"包裹ID:{self.packageID}, 地址:{self.packageAddress}, 城市:{self.packageCity}, 州:{self.packageState}, 邮编:{self.packageZip}, 配送截止时间:{self.packageDeadline}, 重量:{self.packageWeight}, 备注:{self.packageNotes}, 状态:{self.packageStatus}, 送达时间:{self.deliveryTime}"

    # 让嵌套在列表/字典里的实例也能输出可读内容
    __repr__ = __str__

修改完成后即可正常打印所有字段内容,也可以放开你代码中注释掉的循环打印逻辑校验数据。

解决Pycharm拆分多文件后无法运行整套代码的问题

  • 拆分文件参考规则:
    • 把hashtable类单独存为hash_table.py
    • 把Package类单独存为package.py
    • 把加载数据、哈希表实例化、打印校验的主逻辑存为main.py
  • 跨文件引用规则:在需要用到其他类的文件开头加导入语句即可,比如main.py开头需要添加:
from hash_table import hashtable
from package import Package
import csv
  • 运行方式:直接在Pycharm的文件列表中右键点击main.py,选择运行即可,Pycharm会自动加载所有被引用的依赖文件内容,不需要单独运行每个子文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:33:03