在Python的内置数值类型中,repr和str是否始终相同?

时间:2012-11-20 10:48:39

标签: python representation

Pythons内置数值类型(reprstrintbool)上的floatcomplex是否相同,或者是否存在(深奥?)两种情况可能产生不同结果的情况?

关于SO的相关问题(例如this one)重点关注__repr____str__如何以不同方式实现,并为字符串返回不同的值,但我找不到任何关于字符串的值数字上的实际实现。

1 个答案:

答案 0 :(得分:3)

您的主要信息来源是http://hg.python.org/cpython/file/tip/Objects 例如,在boolobject.c

PyTypeObject PyBool_Type = {
    ...stuff...

    bool_repr,                                  /* tp_repr */

    ...stuff...

    bool_repr,                                  /* tp_str */

所以是的,他们保证是一样的。

对于花车,float_reprfloat_str不同,取决于sys.float_repr_style