Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

Python 小提示: Python中的`__repr__`和`__str__`


  • 管理员

    __repr____str__貌似很类似,执行后都是返回对象的字符串结果,使用时的区别是什么呢?看看标准库datetime的处理方式:

    >>> import datetime
    >>> today = datetime.date.today()
    #  str函数调用的是对象的__str__内置函数,其返回值要求清晰易读
    >>> str(today)
    '2018-02-01'
    
    # repr函数调用的是对象的__repr__内置函数,其返回值要求无歧义,并且往往能被eval再次转换回对应的对象
    >>> repr(today)
    'datetime.date(2018, 2, 1)'
    # 通过eval将字符串'datetime.date(2018,2,1)'再次转换回对应的datetime.date对象(注意结果不是字符串)
    >>> eval('datetime.date(2018, 2, 1)')
    datetime.date(2018, 2, 1)

Log in to reply