Готовый перевод Learn Python The Hard Way / Трудный Путь Изучения Python: Exercise 8: Printing, Printing

Внимание! Этот перевод, возможно, ещё не готов, так как модераторы установили для него статус «идёт перевод»

Урок 8. Печать, печать

formatter = "%r %r %r %r"
print formatter % (1, 2, 3, 4)
print formatter % ("one", "two", "three", "four")
print formatter % (True, False, False, True)
print formatter % (formatter, formatter, formatter, formatter)
print formatter % (
"I had this thing.",
"That you could type up right.",
"But it didn't sing.",
"So I said goodnight."
)

Что вы должны увидеть
$ python ex8.py
1 2 3 4
'one' 'two' 'three' 'four'
True False False True
'%r %r %r %r' '%r %r %r %r' '%r %r %r %r' '%r %r %r %r'
'I had this thing.' 'That you could type up right.' "But it didn't sing." 'So I said goodnight.

Упражнения:

Проверьте Вашу работу, выпишите ошибки и постарайтесь не совершать их в будущем.
Обратите внимание, что в последней строке используются как одинарные, так и двойные кавычки, для разных частей строки. Как Вы думаете почему?

Общие вопросы студентов

Что я должен использовать %s или %r для форматирования?
Вы должны использовать %s. Использование %r имеет смысл только для получения отладочной информации, так-как %r даст вам "сырое" представление переменной.

Почему я должен использовать кавычки вокруг "one", но не должен их использовать вокруг True или False?
True и False являются ключевыми словами для Python. Если Вы заключите их в кавычки, то они будут представлены как строки и не будут работать верно. Подробнее об этом можно узнать в упражнении 27

Я пытаюсь использовать Китайские (или любые другие не ASCII символы) в строке, но %r выводит странные символы.
Используйте %s для вывода данной строки и все заработает.

Почему %r иногда выводит строки в одинарных кавычках, если я их писал в двойных?
Python выводит строки наиболее эффективным способом, но не всегда так, как они записаны. И это прекрасно, так как %r используют для получения отладочной информации и это не должно быть красиво.

Почему в Python 3 не все работает?
Не используйте Python 3. Используйте Python 2.7 или выше, однако, в Python 2.6 возможно все будет работать.

Могу я использовать IDLE для работы?
Нет, сейчас этого делать не стоит, привыкайте работать в командной строке, она занимает важное место в обучении программированию. IDLE не ускользнет от нашего внимания в будущем.

Внимание! Этот перевод, возможно, ещё не готов.
Его статус: идёт перевод

Переведено на Нотабеноиде
http://notabenoid.org/book/35742/176293

Переводчики: t0pep0, Kanta

Настройки

Готово:

100.00% КП = 1.0