в чем разница между функциями str()
и repr()
в python 2.7.5?
Объяснение на python.org:
Функция
str()
предназначена для возврата представлений значений, которые довольно доступны для человека, тогда какrepr()
предназначен для генерации представления, которые могут быть считаны интерпретатором (или будут вынужденыSyntaxError
, если нет эквивалентного синтаксиса)
Но мне это было непонятно.
несколько примеров:
>>> s = 'Hello, world.'
>>> str(s)
'Hello, world.'
>>> repr(s)
"'Hello, world.'" # repr is giving an extra double quotes
>>> str(1.0/7.0)
'0.142857142857'
>>> repr(1.0/7.0)
'0.14285714285714285' # repr is giving value with more precision
поэтому я хочу знать следующее
- Когда следует использовать
str()
и когда следует использоватьrepr()
? - В каких случаях я могу использовать любой из них?
- Что может
str()
делать, чтоrepr()
не может? - Что может
repr()
делать, чтоstr()
не может?