为了账号安全,请及时绑定邮箱和手机立即绑定

有没有定义__repr__在终端有什么区别吗?

为什么在python3 中直接输入变量p 不会有<main.person object at 0x10c941890>这样的显示?
还有是否有定义__repr__ = __str__ 在终端print 会有什么区别?


正在回答

1 回答

>>> class Person(object):

...     def __init__(self):

...             self.name = 'wml'

...

...

>>> p = Person()

>>> p

<__main__.Person object at 0x000001A974C674E0>

>>>

这是在python3.7环境下试的,你看看你是不是类定义有问题,或者用isinstance()函数测试一下p是不是一个对象。

------------------------------------------------------------------------

__str__():显示给用户

__repr__():显示给开发人员

这是我做的笔记,第一个就是print p的输出

第二个是直接输入p的输出 

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255533    人
  • 解答问题       3038    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

有没有定义__repr__在终端有什么区别吗?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号