str() vs repr() functions in python 2.7.5

This question already has an answer here:

  • Difference between __str__ and __repr__? 21 answers

  • When should i use str() and when should i use repr() ?

    Almost always use str() when creating output for end users.

    repr() is mainly useful for debugging and exploring. For example, if you suspect a string has non printing characters in it, or a float has a small rounding error, repr() will show you; str() may not.

    repr() can also be useful for generating literals to paste into your source code. It can also be used for persistence (with ast.literal_eval or eval ), but this is rarely a good idea--if you want editable persisted values, something like JSON or YAML is much better, and if you don't plan to edit them, use pickle.

    2.In which cases i can use either of them ?

    Well, you can use them almost anywhere. You shouldn't generally use them except as described above.

    3.What can str() do which repr() can't ?

    Give you output fit for end-user consumption--not always (eg, str(['spam', 'eggs']) isn't likely to be anything you want to put in a GUI), but more often than repr() .

    4.What can repr() do which str() can't

    Give you output that's useful for debugging--again, not always (the default for instances of user-created classes is rarely helpful), but whenever possible.

    And sometimes give you output that's a valid Python literal or other expression--but you rarely want to rely on that except for interactive exploration.

    链接地址: http://www.djcxy.com/p/28318.html

    上一篇: 和...之间的不同

    下一篇: str()vs repr()函数在python 2.7.5中