Найти тему
Python Education

Переменные внутри строк. Python

Можно печатать строки, содержащие значение переменных. Для этого используются метки %s в тех местах, где должны быть значения (это называется подстановкой, или встраиванием значений в строку). Например, в переменной myscore хранится счет игры, и вы хотите, чтобы он отображался в сообщении <<Мой счет: очков>>. Тогда вместо числа используйте в сообщении метку %s, а при печати укажите нужное значение. Вот так:
>>> myscore = 1000
>>> message = 'Мой счет: %s очков'
>>> print(message % myscore)
Мой счет: 1000 очков

Мы создали переменную myscore со значением 1000 и переменную message со строкой <<Мой счет: %s очков>>, где %s - метка позиции, в которой нужно отобразить значение. Используем команду print(message), указав с помощью знака %, что метку %s нужно заменить значением переменной myscore. В результате на экране появляется сообщение <<Мой счет: 1000 очков>>. Для подстановки значения использовать переменную необязательно, то же самое получится, если дать команду print(message % 1000).

Печатая строку с меткой %s, можно каждый раз подставлять в нее значения разных переменных, как в этом примере:
>>> joke_text = '%s приспособление для поиска мебели в темноте'
>>> bodypart1 = 'Коленка'
>>> bodypart2 = 'Лодыжка'
>>> print(joke_text % bodypart1)
Коленка: приспособление для поиска мебели в темноте
>>> print(joke_text % bodypart2)
Лодыжка: приспособление для поиска мебели в темноте

Мы создали три переменных. Первая, joke_text, содержит строку с меткой %s. Значение двух других переменных - bodypart1 и bodypart2 - строки с названиями частей тела. Теперь можно печатать joke_text, подставляя с помощью оператора % вместо %s разные переменные: bodypart1 или bodypart2. В том и другом случае на экране появятся разные сообщения.

Можно использовать и несколько меток в одной строке. Вот так:
>>> nums = 'Что сказало число %s числу %? Славный поясок!'
>>> print(nums % (0, 8))
Что сказало число 0 числу 8? Славный поясок

Если меток несколько, указывайте значение для подстановки в скобках в том же порядке, что и в строке, как показано в этом примере.