Python如何打印YahooSecurity类实例的完整数据而非对象地址?
解决打印YahooSecurity实例仅输出内存地址的问题
嗨,我太懂你这种看着一堆没用的内存地址却拿不到实际数据的烦躁了!针对你的需求,有几个实用的办法可以替换print(security),让你打印出实例的完整数据:
直接打印实例的
__dict__属性:
Python的实例对象默认都会有__dict__属性,它存储了这个实例的所有自定义属性和对应的值,用这个方法能快速拿到结构化的键值对数据:print(security.__dict__)调用类提供的专用数据导出方法:
很多第三方类会封装专门的方法来返回结构化数据,比如to_dict()、get_data()这类,你可以试试调用这类方法(具体方法名可以查看类的文档或源码):print(security.to_dict()) # 替换成实际存在的方法名即可给类添加
__str__方法(若你有权限修改类代码):
如果你能修改YahooSecurity类的代码,可以添加一个__str__方法,这样之后直接用print(security)就能输出数据了:class YahooSecurity: # 原有的类实现代码... def __str__(self): # 这里可以自定义输出格式,比如返回属性的字符串形式 return str(self.__dict__)
内容的提问来源于stack exchange,提问作者Marx Babu
相关产品推荐
相关产品推荐

