Pythons内置数值类型(repr
,str
,int
和bool
)上的float
和complex
是否相同,或者是否存在(深奥?)两种情况可能产生不同结果的情况?
关于SO的相关问题(例如this one)重点关注__repr__
和__str__
如何以不同方式实现,并为字符串返回不同的值,但我找不到任何关于字符串的值数字上的实际实现。
答案 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_repr
与float_str
不同,取决于sys.float_repr_style
。