Python __repr__()方法:显示属性
前面章节中,我们经常会直接输出类的实例化对象,例如:
class CLanguage:
pass
clangs = CLanguage()
print(clangs)
程序运行结果为:
<__main__.CLanguage object at 0x000001A7275221D0>
通常情况下,直接输出某个实例化对象,本意往往是想了解该对象的基本信息,例如该对象有哪些属性,它们的值各是多少等等。但默认情况下,我们得到的信息只会是“类名+object at+内存地址”,对我们了解该实例化对象帮助不大。那么,有没有可能自定义输出实例化对象时的信息呢?答案是肯定,通过重写类的 __repr__() 方法即可。事实上,当我们输出某个实例化对象时,其调用的就是该对象的 __repr__() 方法,输出的是该方法的返回值。
以本节开头的程序为例,执行 print(clangs) 等同于执行 print(clangs.__repr__()),程序的输出结果是一样的(输出的内存地址可能不同)。
和 __init__(self) 的性质一样,Python 中的每个类都包含 __repr__() 方法,因为 object 类包含 __reper__() 方法,而 Python 中所有的类都直接或间接继承自 object 类。
默认情况下,__repr__() 会返回和调用者有关的 “类名+object at+内存地址”信息。当然,我们还可以通过在类中重写这个方法,从而实现当输出实例化对象时,输出我们想要的信息。
举个例子:
class CLanguage:
def __init__(self):
self.name = "C语言中文网"
self.add = "http://c.biancheng网站站点" rel="nofollow" />
CLanguage[name=C语言中文网,add=http://c.biancheng网站站点" rel="nofollow" />
- 随机文章
- 国外马尔代夫购房(马尔代夫房产市场:国外人士热情投资)
- 歌词 马尔代夫(太阳照耀的海洋宝石)
- 巴黎马尔代夫视频(巴黎和马尔代夫合作制作旅游宣传视频)
- 斐济 毛里求斯 马尔代夫(三亚旅游新航线:探秘南太平洋美丽岛国)
- 云南马尔代夫头像(云南旅游新亮点:仿马代头像吸睛无数)
- 南海建成马尔代夫(南海岛礁建成类似马尔代夫的旅游胜地)
- 周口马尔代夫沙滩(周口旅游新热点:马尔代夫沙滩体验!)
- 乌鸦 马尔代夫(乌鸦在马尔代夫的神秘奇遇)
- 旅游 马尔代夫(探秘马尔代夫:美丽的旅游胜地)
- 天涯马尔代夫旅游(探秘马尔代夫之旅,畅游天涯蓝色海洋)
- 烟台马尔代夫浴场(烟台的马尔代夫浴场让你体验海岛度假)
- 格言 马尔代夫(马尔代夫之旅:探寻未知的海洋奇观)
- 舒畅马尔代夫照片(品味度假胜地:舒适的马尔代夫拍照!)
- 援助马尔代夫疫苗(援助马尔代夫:赠送疫苗助力疫情防控)
- 贵州乡村马尔代夫(贵州打造乡村版马尔代夫,美如天堂!)
- 中药 带 马尔代夫(中医药走进马尔代夫,探寻海岛上的健康密码)
- 辉县马尔代夫救人(辉县勇士援马尔代夫,成功救援落水者)
- 重庆马尔代夫汤泉(重庆汤泉打造马尔代夫式温泉度假胜地)
- 山东 马尔代夫(山东豪华旅游项目仿马尔代夫落地)
- 美国马尔代夫位置(美国决定在马尔代夫设立重要外交基地)
- 韩国客平马尔代夫(韩客在马尔代夫遇难,游客应注意安全)
- 麻袋 马尔代夫(享受马尔代夫度假:最佳麻袋度假胜地)
- 马尔代夫体检报告(马尔代夫旅游需体检,检测结果呈阴性)
- 阜新酒吧马尔代夫(阜新民众寻求“马尔代夫”酒吧的解释)
- 河北的马尔代夫在(河北省拥有别具特色的马尔代夫风景区)
- 长治马尔代夫越野(长治摩尔多瓦拓荒车探秘马尔代夫岛屿)
- 马尔代夫军人图片(马尔代夫军人亮相,展现激励人心形象)
- 廊坊 马尔代夫(廊坊市民花式骑行赴马尔代夫,成为旅游新热点)
- 爱旅 马尔代夫(探索马尔代夫之美:我与热带岛国的浪漫邂逅)
- 马尔代夫古墓全集(令人惊叹!马尔代夫完整的古墓被发现)
