2012-11-20 50 views
5

repr是和str相同上內置數值類型(intboolfloat,和complex)蟒,還是有(深奧?)的情況,其中兩個可能會產生不同的結果?在SO(如this one)專注於如何__repr____str__,可以不同的方式實現,而對於字符串返回不同的值,但我無法找到關於數字的實際執行任何Python和內置數值類型的repr和str總是相同的嗎?

相關問題。

+0

這個問題被封閉爲重複,但鏈接的帖子並沒有回答我的問題,這是專門關於'int','bool','float'和'''''__repr__'和'__str__'方法的問題。 complex'。 – gerrit

回答

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

相關問題