2012-11-20 15 views
5

dahili sayısal türleri (int, bool, float ve complex) piton üzerinde repr ve str aynı mı ya da iki farklı sonuçlar doğurabilir (gizli?) Durumlar vardır? __repr__ ve __str__ farklı uygulanır ve diziler için farklı değerler döndürür ama sayıların gerçek uygulanmasına ilişkin bir şey bulamıyorum edilebileceği konusunda SO (örneğin this one) odaktaRepr ve str her zaman Pythons yerleşik sayısal türlerde aynı mıdır?

İlgili sorular. Bu bilgilerin

+0

Soru, yinelenen olarak kapatıldı, ancak bağlantılı gönderi, özellikle '__repr__' ve' int', 'bool', 'float' ve '__str__' yöntemleri hakkında olan soruyu yanıtlamıyor. kompleksi '. – gerrit

cevap

3

Birincil kaynak boolobject.c Örneğin http://hg.python.org/cpython/file/tip/Objects şöyledir:

PyTypeObject PyBool_Type = { 
    ...stuff... 

    bool_repr,         /* tp_repr */ 

    ...stuff... 

    bool_repr,         /* tp_str */ 

yani evet, aynı olması garanti ediyoruz.

Floatlar için float_repr, float_str'dan farklıdır ve sys.float_repr_style'a bağlıdır.

İlgili konular