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