有没有定义__repr__在终端有什么区别吗?
为什么在python3 中直接输入变量p 不会有<main.person object at 0x10c941890>这样的显示? 还有是否有定义__repr__ = __str__ 在终端print 会有什么区别?
为什么在python3 中直接输入变量p 不会有<main.person object at 0x10c941890>这样的显示? 还有是否有定义__repr__ = __str__ 在终端print 会有什么区别?
2019-05-31
>>> 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的输出
举报