В выражении 'abc%rdef' % obj
часть '%r'
заменяется на repr(obj)
В выражении 'ABC%sDEF' % obj
часть '%s'
заменяется на str(obj)
.
repr() – это функция, которая для обычных объектов возвращает строку, совпадающую с той, которую вы написали бы в скрипте для определения объекта, переданного в качестве аргумента функции repr(). функция:
Для многих типов эта функция пытается вернуть строку, которая при передаче в eval() дает объект с тем же значением http://docs.python.org/library/functions.html#repr
.
Пример 1
если вы рассматриваете список, определенный li = [12,45,'haze']
print li
напечатает [12,45,'дымка']
print repr(li)
также выведет [12,45,'haze'] , потому что [12,45,'haze']
– это последовательность символов, записанная в скрипте для определения списка li с этим значением.
Пример 2
если вы считаете строку, определенную ss = 'oregon'
:
print ss
напечатает oregon без кавычек
print repr(ss)
напечатает 'oregon' , так как 'oregon'
— это последовательность символов, которую вы должны написать в скрипте, если хотите определить строку ss со значением oregon в программе
.
Таким образом, это означает, что фактически для общих объектов repr() и str() возвращают строки, которые в целом равны, за исключением строкового объекта. Это делает функцию repr() особенно интересной для строковых объектов. Например, очень полезно анализировать содержимое HTML-кодов.
person
eyquem
schedule
28.08.2011