Одна из очень нужных тем – это форматирование строк в Python 3, встречается достаточно часто, и программисты Python должны уметь работать со строками, а также применять форматировани.
Давайте разберемся, что же это такое: форматирование строк в Python 3 версии помогаем нам решать несколько задач:
- Правильный вывод в консоль;
- Использование переменных прям в самой строке;
- Динамическое изменения вида строки.
На сегодняшний день очень часто используется 2 метода форматирования:
- С использованием метода format();
- С использованием указания метода format(), перед строкой ставим букву “f“.
Использование метода format() в строках
name = "Anna" phone = "+1 020 4562587" social = "@annet89" print("Hello, my name is {}. My phone is {}, my nickname in the social network {}.".format(name, phone, social))
Давайте разберем, что же мы написали в print(): некая строка, в которой выводим данные – имя, телефон и никнейм. В тех местах строки, где нам надо вывести эти данные мы пишем пустые фигурные скобки {}, их еще называют плейсхолдерами, в конце строки, т.е. после закрытой кавычки ставим точку и вызываем метод format(), в который параметрами и передаем наши переменные, и что важно – в том порядке, в котором нам надо, что бы они распологались в строке!
Также, можно в плейсхолдеры, т.е. в скобки {} передать индексы, под которыми находятся переменные в методе format(), в нашем случае name – 0, phone – 1, social – 2
print("Hello, my name is {0}. My phone is {1}, my nickname in the social network {2}.".format(name, phone, social))
И в этом случае значения переменных будут выведены в том порядке, как мы указали их индексы! Т.е., если индексы указать по другому, то и значения будут выведены не совсем правильно, возможно, предложение потеряет смысл:
print("Hello, my name is {2}. My phone is {0}, and my nickname in the social network {1}.".format(name, phone, social)) #RESULT: Hello, my name is @annet89. My phone is Anna, my nickname in the social network +1 020 4562587.
Форматирование строк в Python 3 – указание буквы “f”
Этот вариант очень прост и более короткий в написании: перед строкой пишем букву “f”, а в самой строке прописываем в плейсхолдерах, т.е. в круглых скобках, имена переменных:
print(f"Hello, my name is {name}. My phone is {phone}, my nickname in the social network {social}.")
Естественно, если переменные указать в другом порядке, то и вывод будет в другом порядке!
Стоит отметить, что при форматировании строк иногда используются управляющие символы Python, о которых мы расскажем в другой статье. А более подробно эту тему можно изучить в официальной документации, по форматированию строк.