在Pythons内置数值类型上,repr和str总是相同吗?

ger*_*rit 5 python representation

reprstr相同的上内置数值类型蟒蛇(int,bool,float,和complex),还是有(深奥?)的情况,其中两个可能会产生不同的结果?

关于SO的相关问题(例如本文)关注的是如何__repr__以及__str__可能以不同方式实现,并为字符串返回不同的值,但我找不到关于数字的实际实现的任何内容.

geo*_*org 3

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

PyTypeObject PyBool_Type = {
    ...stuff...

    bool_repr,                                  /* tp_repr */

    ...stuff...

    bool_repr,                                  /* tp_str */
Run Code Online (Sandbox Code Playgroud)

所以是的,它们保证是相同的。

对于浮点数,float_repr不同于float_str且取决于sys.float_repr_style