Форум сайта python.su
Не думаю, что мой вопрос глупый.
Комментарии, данные выше насчет str и repr, я понимаю.
Дам уточнение моего вопроса.
Почему в этом случае разный вывод для:
print список
и
print список
Ведь в первом случае печатается первый элемент списка, а во втором весь список поэлементно, как в случае его объявления.
Только вот результат разный!
И почему по-вашему для первого случая действует str, а для второго repr?
Возможно, я не корректно привел консольный вывод.
Исправляюсь:
Дано:
>>>a=['АБВ','ГДЕ']
>>>print a[0]
АБВ
>>>print a
['\x...', '\x... ...']
Офлайн
Savyur, значит, принт для списка работает иначе, нежели вам бы хотелось. Как говориться, так устроен
мир. На самом деле, он работает вполне логично, печатая список как объект.
Офлайн
еще раз: __str__ и __repr__ для списка идентичны.
Реализованы как
def __repr__(self):
return '[%s]' % ', '.join(repr(i) for i in self)
__str__ = __repr__
Офлайн
leventovТолько логично бы было выводить объекты (в данном случае строки) всего списка тем же способом, который используется для вывода отдельно взятого (по его индексу) объекта-строки.
Savyur, значит, принт для списка работает иначе, нежели вам бы хотелось. Как говориться, так устроен
мир. На самом деле, он работает вполне логично, печатая список как объект.
Офлайн
Просветление пока не наступило.
Офлайн