类和对象-001改变对象的字符串显示

2018-01-12 11:16:51来源:oschina作者:游动的海蜇人点击

分享
一、问题

你想改变对象实例的打印或显示输出,让它们更具可读性。


二、解决方案

我们要改变一个实例的字符串表示,可重新定义它的 str() 和 repr() 方法。自定义 repr() 和 str() 通常是很好的习惯,因为它能简化调试和实例输出。


示例代码:


class Company:
"""
公司类
"""
def __init__(self, name, stock_code):
self.name = name
self.stock_code = stock_code
def __repr__(self):
"""
返回一个实例的代码表示形式
:return:
"""
return 'Company({0.name!r}, {0.stock_code!r})'.format(self)
def __str__(self):
"""
将实例转换为一个字符串
:return:
"""
return '({0.name!s}, {0.stock_code!s})'.format(self)if __name__ == "__main__":
company = Company('谷歌', 'GOOG')
print(company)
print(company.__repr__())
print(company.__str__())

运行结果:


(谷歌, GOOG)
Company('谷歌', 'GOOG')
(谷歌, GOOG)
三、参考文档

1.http://python3-cookbook.readthedocs.io/zh_CN/latest/index.html

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台