
Для форматирования строк можно использовать несколько методов. Один из них – это использование f-строк. Это удобный способ для внедрения переменных прямо в строку. Например, name = «Иван» и print(f»Привет, {name}!») выведет «Привет, Иван!». Это значительно упрощает процесс работы с динамическими значениями.
Для того чтобы вывести текст, достаточно передать строку в print():
print("Привет, мир!")
Этот код выведет текст Привет, мир! в консоль. Обратите внимание, что строки в Python должны быть заключены в кавычки – одинарные (') или двойные (").
print("Число:", 5)
Результатом будет Число: 5. Если необходимо вывести данные без пробела между значениями, можно использовать параметр sep, который позволяет задать разделитель:
print("Число:", 5, sep="")
Этот код выведет Число:5, исключив пробел после двоеточия.
print("Первое число", 5, end=" ")
print("и второе число", 10)
Этот код выведет Первое число 5 и второе число 10 в одну строку.
В результате будет выведено Меня зовут Алексей, мне 25 лет. Это один из самых удобных способов вставки переменных в строку.
Как вывести значения переменных в Python

x = 10
print(x)
В данном примере значение переменной x (число 10) будет выведено в консоль.
Можно передавать несколько аргументов в функцию print(), чтобы вывести их в одной строке:
name = "Алексей"
age = 25
print(name, age)
name = "Алексей"
age = 25
print(f"Меня зовут {name}, мне {age} лет.")
name = "Алексей"
age = 25
print("Меня зовут {}, мне {} лет.".format(name, age))
Если необходимо вывести значения с точностью до нескольких знаков после запятой, можно использовать форматирование с указанием количества знаков:
pi = 3.141592653589793
print(f"Число Пи: {pi:.2f}")
numbers = [1, 2, 3, 4, 5]
print(numbers)
Если нужно вывести более сложные структуры данных, такие как вложенные словари или списки, удобнее использовать библиотеку pprint для лучшего форматирования:
from pprint import pprint
data = {'name': 'Алексей', 'age': 25, 'address': {'city': 'Москва', 'street': 'Тверская'}}
pprint(data)
{'address': {'city': 'Москва', 'street': 'Тверская'},
'age': 25,
'name': 'Алексей'}
Пример базового использования f-строки:
name = "Иван"
age = 30
print(f"Меня зовут {name}, мне {age} лет.")
Результат: Меня зовут Иван, мне 30 лет.
С помощью f-строк можно не только вставлять переменные, но и выполнять операции непосредственно в строке. Например:
x = 5
y = 3
print(f"Сумма {x} и {y} равна {x + y}.")
Результат: Сумма 5 и 3 равна 8.
pi = 3.1415926535
print(f"Число Пи: {pi:.2f}")
Результат: Число Пи: 3.14
Также можно использовать выравнивание и ширину поля для чисел и строк. Например, чтобы выровнять текст по правому краю:
text = "Привет"
print(f"{text:>10}")
Результат: Привет (с отступами слева до 10 символов).
Для выравнивания по центру используется символ ^, а для выравнивания по левому краю – <.
text = "Python"
print(f"{text:^20}")
Результат: Python
Можно также использовать f-строки для форматирования даты:
from datetime import datetime
now = datetime.now()
print(f"Текущая дата: {now:%d-%m-%Y}")
Результат: Текущая дата: 07-05-2025
Использование f-строк значительно улучшает читаемость кода, устраняя необходимость в дополнительных операциях конкатенации строк и облегчая управление форматированием данных.
Пример использования format() для ограничения числа знаков после запятой:
print("{:.2f}".format(3.14159))
Этот код выведет 3.14, ограничив число двумя знаками после запятой. Число в скобках после : определяет точность: в данном случае .2f означает, что нужно вывести число с двумя знаками после запятой в формате с плавающей точкой (f).
Аналогично можно использовать f-строки, которые являются более удобным и читаемым способом:
print(f"{3.14159:.2f}")
Этот код также выведет 3.14. F-строки позволяют сразу вставлять значения переменных в строку, делая код компактным и наглядным.
print("{:.2e}".format(1234567.89))
Это выведет 1.23e+06, что означает 1.23 * 10^6. Флаг e в формате отвечает за экспоненциальную форму записи числа.
print(f"{1/3:.10f}")
print(1, 2, 3)– выведет числа 1, 2 и 3, разделённые пробелами:1 2 3.- Если нужно использовать другой разделитель, можно указать его через параметр
sep:print(1, 2, 3, sep='-')выведет1-2-3.
Параметр sep может быть использован для любых типов данных. Например, строку и число можно вывести через запятую и задать другой разделитель:
print('Python', 3.9, sep=' | ')– результат:Python | 3.9.
print(1, end='')иprint(2)выведут12в одной строке.
print("Возраст:", 25)выведетВозраст: 25.print("Статус:", True)выведетСтатус: True.
Использование функции print с разделителями

По умолчанию в print() используется пробел в качестве разделителя. Например:
print("apple", "banana", "cherry")
Этот код выведет: apple banana cherry.
Чтобы изменить разделитель, нужно передать нужное значение параметру sep. Например, чтобы использовать запятую и пробел в качестве разделителя:
print("apple", "banana", "cherry", sep=", ")
print("apple", "banana", "cherry", sep="-")
Результат: apple-banana-cherry.
print("apple", "banana", "cherry", sep="")
print(1000, 2000, 3000, sep=", ")
Результат: 1000, 2000, 3000.
Также стоит учитывать, что sep влияет только на разделители между аргументами, передаваемыми в print(), но не на символы внутри самих строк. Например, в случае использования пробела в строках:
print("apple pie", "banana split", "cherry tart", sep=", ")
Результат: apple pie, banana split, cherry tart.
Пример:
print("Привет,", end=" ")
print("мир!")
Этот код выведет:
Привет, мир!
Как видно, оба вызова print() выполняются на одной строке, так как после первого не происходит перехода на новую строку.
Пример:
print("Это", "тест", sep=", ", end="!")
Этот код выведет:
Это, тест!
Логирование информации в консоль с помощью logging

Для начала работы с logging необходимо импортировать модуль и настроить базовую конфигурацию. Простой пример:
import logging
logging.basicConfig(level=logging.INFO)
logging.info('Это информационное сообщение')
logging.warning('Это предупреждающее сообщение')
logging.error('Это сообщение об ошибке')
Настройка уровня логирования позволяет фильтровать сообщения. Например, если уровень установлен на WARNING, то только предупреждения и ошибки будут выведены в консоль, а информационные и отладочные сообщения будут игнорироваться.
logging.basicConfig(level=logging.WARNING)
logging.debug('Это отладочное сообщение') # Не будет выведено
logging.info('Это информационное сообщение') # Не будет выведено
logging.warning('Это предупреждающее сообщение') # Будет выведено
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logging.info('Пример сообщения')
2025-05-07 12:34:56,789 - INFO - Пример сообщения
Если нужно записывать логи не только в консоль, но и в файл, можно использовать параметр filename:
logging.basicConfig(filename='app.log', level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logging.info('Это сообщение будет записано в файл')
В данном случае логирование будет происходить как в файл app.log, так и в консоль (если не указан параметр filemode, по умолчанию он будет ‘a’ – добавление в файл).
Для более сложных случаев можно использовать логгер с разными обработчиками. Например, чтобы отправлять ошибки по электронной почте:
import logging
import logging.handlers
logger = logging.getLogger()
logger.setLevel(logging.ERROR)
mail_handler = logging.handlers.SMTPHandler(mailhost='smtp.example.com',
fromaddr='error@example.com',
toaddrs=['admin@example.com'],
subject='Ошибка в программе')
logger.addHandler(mail_handler)
logger.error('Произошла ошибка!')
В этом примере ошибки уровня ERROR и выше будут отправляться по электронной почте.
