2012-11-20 4 views
5

내장 숫자 유형 (int, bool, floatcomplex) 비단뱀에 reprstr 동일, 또는 두 개의 서로 다른 결과를 얻을 수 있습니다 (비전?) 경우가 있습니다?파이썬 내장 숫자 형에서 repr과 str은 항상 동일합니까?

__str__과 다른 방법으로 구현할 수있는 문자열에 대한 다른 값을 반환하는 방법에 초점을 맞춘 관련 질문 (예 : this one)은 실제 구현시 아무것도 찾을 수 없습니다. 이에 대한 정보

+0

질문은 중복으로 닫혔지만 링크 된 포스트는 int, bool, float 및' 복잡한 '. – gerrit

답변

3

기본 소스는 boolobject.c 예를 들어 http://hg.python.org/cpython/file/tip/Objects 입니다 :

PyTypeObject PyBool_Type = { 
    ...stuff... 

    bool_repr,         /* tp_repr */ 

    ...stuff... 

    bool_repr,         /* tp_str */ 

그래서 그래, 그들은 동일하게 보장하고 있습니다.

플로트의 경우 float_reprfloat_str과 다르며 sys.float_repr_style에 의존합니다.