Объяснение к уроку
После этого урока ты сможешь:
str(), когда конкатенация строк требует преобразования в текст.sep и end.\n и простые разделители повторением строк..2f.Python использует функцию print() для вывода значений в консоль. Один вызов может напечатать текст, числа или сразу несколько значений:
print("Retries:", 3)Когда print() получает несколько значений, он преобразует их для отображения и по умолчанию разделяет их пробелом. Это означает, что тебе обычно не требуется str() только для того, чтобы вывести число.
Функция str() необходима, когда ты объединяешь текст и число с помощью оператора +, поскольку конкатенация строк требует, чтобы оба операнда были строками:
"Port: " + str(8080)Для вывода с подписями f-строки обычно нагляднее:
port = 8080
print(f"Port: {port}")Параметр sep изменяет то, что отображается между несколькими выводимыми значениями, а end управляет тем, что выводится после вызова print(). Разделитель по умолчанию — один пробел, а завершение по умолчанию — перенос строки.
Используй \n, когда внутри одной строки нужен явный перенос. Повторение короткой строки с помощью * удобно для создания простых консольных разделителей. При отображении десятичных чисел формат .2f выводит ровно две цифры после запятой.
Передавай несколько значений в print(), если хочешь, чтобы Python отобразил их через пробел.
retry_limit = 4
print("Retry limit:", retry_limit)Вывод:
Retry limit: 4Python отображает целое число напрямую. Явного преобразования не требуется.
Оператор + может объединять только строку со строкой, поэтому число необходимо сначала преобразовать.
port = 8080
message = "Port: " + str(port)
print(message)Вывод:
Port: 8080F-строка обычно выглядит чище для такого вывода, но понимание str() помогает находить и устранять ошибки несоответствия типов.
Помести переменную внутри {}, чтобы включить её текущее значение в текст.
environment = "staging"
print(f"Environment: {environment}")Вывод:
Environment: stagingБуква f перед открывающей кавычкой сообщает Python, что значения внутри фигурных скобок нужно вычислить.
sepПараметр sep заменяет пробел по умолчанию между значениями, переданными в один вызов print().
print("frontend", "api", "worker", sep=" -> ")Вывод:
frontend -> api -> workerРазделитель вставляется только между значениями.
endПо умолчанию print() заканчивается переводом строки. Измени end, если следующий вызов должен продолжить ту же строку.
print("Upload", end="... ")
print("complete")Вывод:
Upload... completeВторой print() начинается сразу после пользовательского завершения первого вызова.
Используй \n для явного переноса строки внутри одного текста. Используй *, чтобы повторить короткую строку.
print("-" * 12)
print("Build passed\nArtifacts ready")Вывод:
------------
Build passed
Artifacts readyПервая строка повторяет дефис - двенадцать раз. Символ \n разделяет вторую строку на две части.
Используй спецификатор .2f внутри f-строки для отображения числа с двумя знаками после запятой.
response_time = 18.456
print(f"Average response: {response_time:.2f} ms")Вывод:
Average response: 18.46 msФорматирование меняет только отображение значения, сама переменная остаётся неизменной.
| Задача | Рекомендуемый синтаксис Python |
|---|---|
| Вывести несколько значений | print(label, value) |
| Конкатенировать текст с числом | "Count: " + str(count) |
| Сформировать читаемый вывод | f"Count: {count}" |
| Изменить разделитель | `print(a, b, sep=" |
| Оставить следующий вывод на той же строке | print(text, end="...") |
| Отобразить два десятичных знака | f"{amount:.2f}" |
+, если число не преобразовано с помощью str().sep и end: sep вставляется между значениями, а end ставится после всего вызова..2f изменяет сохранённое число; спецификатор управляет только форматом отображения.