Я возьму удар в этом, 'repr' - машинное представление объекта, в то время как 'print' показывает удобочитаемое представление объекта.Есть встроенные методы ' repr ', ' str ' и ' unicode ', которые могут использоваться программистами для реализации различных печатаемых представлений объекта,Вот простой пример
class PrintObject(object):
def __repr__(self):
return 'repr'
def __str__(self):
return 'str'
def __unicode__(self):
return 'unicode'
Теперь, если вы загрузите этот объект в оболочку Python и поэкспериментируете с ним, вы увидите, как эти разные методы используются для представления печатного представления объекта
Python 2.6.4 (r264:75821M, Oct 27 2009, 19:48:32)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from printobject import PrintObject
>>> printObj = PrintObject()
>>> printObj
>>> repr(printObj)
'repr'
>>> str(printObj)
'str'
>>> unicode(printObj)
u'unicode'
Метод ' repr ' используется, если вы просто набираете экземпляр и возвращаете
>>> printObj
repr
Метод ' str ' используется, если выиспользуйте print для экземпляра
>>> print(printObj)
str
, а метод ' unicode ' используется, если вы используете экземпляр в строке Unicode.
>>> print(u'%s' % printObj)
unicode
Когда и есливы начинаете писать свои собственные классы, эти методы очень пригодятся.