Python - Форматирование вывода
Добро пожаловать, амбициозные программисты! Сегодня мы погружаемся в захватывающий мир форматирования вывода в Python. Как ваш добрый сосед-компьютерный учитель, я здесь, чтобы вести вас через это путешествие шаг за шагом. Не волнуйтесь, если вы новичок в программировании – мы начнем с основ и будем двигаться вверх. Так что взять свой любимый напиток, удобно расположиться и давайте отправимся в это приключение с Python вместе!
Форматирование вывода в Python
Перед тем как погружаться в детали, давайте поговорим о том, почему важно форматировать вывод. Представьте себе, что вы печете торт – конечно, важны ингредиенты, но как вы его представите, это делает все разницу! То же самое и с программированием. Ваш код может работать идеально, но представление вывода в четком, читаемом формате может сделать вашу программу гораздо более удобной и профессиональной.
Основная функция вывода
Начнем с самого простого способа вывода в Python – функции print()
.
print("Привет, мир!")
Это выведет: Привет, мир!
Просто, правда? Но что если мы хотим сделать что-то более сложное? Вот тут на помощь приходит форматирование!
Использование оператора modulo для строк (%)
Оператор modulo для строк %
– один из самых старых методов форматирования в Python. Это как винтажный автомобиль форматирования – немного старомодный, но все еще выполняет свою задачу.
name = "Алиса"
age = 25
print("Мое имя %s и мне %d лет." % (name, age))
Вывод: Мое имя Алиса и мне 25 лет.
Здесь %s
– это占位符 для строк, а %d
– для целых чисел. Это как оставить пустые места в предложении и заполнить их позже!
Использование метода format()
Метод format()
– как более крутой, младший брат оператора modulo. Он более гибкий и легко читается.
name = "Боб"
age = 30
print("Мое имя {} и мне {} лет.".format(name, age))
Вывод: Мое имя Боб и мне 30 лет.
Вы также можете использовать нумерованные占位符ы:
print("Кот в {0} весит {2} фунтов.".format("шляпе", "кот", 5))
Вывод: Кот в шляпе весит 5 фунтов.
Использование F-strings
F-strings, введенные в Python 3.6, – новенькие на улице. Они быстрые, читаемые и мои личные любимые!
name = "Чарли"
age = 35
print(f"Мое имя {name} и мне {age} лет.")
Вывод: Мое имя Чарли и мне 35 лет.
F-strings позволяют вам помещать выражения прямо в фигурные скобки:
x = 10
y = 20
print(f"Сумма {x} и {y} равна {x + y}")
Вывод: Сумма 10 и 20 равна 30
Правило преобразования формата в Python
Иногда вам нужно преобразовать типы данных для форматирования. Python предоставляет вам это!
pi = 3.14159
print(f"Пи с двумя знаками после запятой: {pi:.2f}")
Вывод: Пи с двумя знаками после запятой: 3.14
Вот полезная таблица общих спецификаторов формата:
Спецификатор | Описание |
---|---|
d | Целое число |
f | Дробное число |
s | Строка |
x | Шестнадцатеричное |
o | Восьмеричное |
e | Научное |
Шаблонные строки
Шаблонные строки – это как мад либс для Python. Они отлично подходят, когда вы работаете с пользовательским вводом или хотите отделить форматирование от кода.
from string import Template
t = Template("$name $age лет")
result = t.substitute(name="Давид", age=40)
print(result)
Вывод: Давид 40 лет
Модуль textwrap
Модуль textwrap
– ваш лучший друг при работе с длинными строками. Он помогает вам оборачивать и форматировать текст, делая его более читаемым.
import textwrap
long_string = "Это очень длинная строка, которую мы хотим обернуть, чтобы сделать ее более читаемой на экране или в печати."
wrapped = textwrap.wrap(long_string, width=30)
for line in wrapped:
print(line)
Вывод:
Это очень длинная строка,
которую мы хотим обернуть,
чтобы сделать ее более
читаемой на экране или в
печати.
Функция shorten()
Иногда вам просто нужно обрезать строку. Функция shorten()
идеально подходит для этого:
import textwrap
long_string = "Это очень длинная строка, которую мы хотим сократить."
shortened = textwrap.shorten(long_string, width=25, placeholder="...")
print(shortened)
Вывод: Это очень длинная...
Модуль pprint
Наконец, давайте поговорим о модуле pprint
(прекрасная печать). Он отлично подходит для печати сложных структур данных в более читаемом формате.
from pprint import pprint
complex_data = {'name': 'Ева', 'age': 45, 'hobbies': ['чтение', 'игры', 'пешие прогулки'], 'family': {'spouse': 'Адам', 'children': ['Каин', 'Авель']}}
print("Обычная печать:")
print(complex_data)
print("\nПрекрасная печать:")
pprint(complex_data)
Вывод:
Обычная печать:
{'name': 'Ева', 'age': 45, 'hobbies': ['чтение', 'игры', 'пешие прогулки'], 'family': {'spouse': 'Адам', 'children': ['Каин', 'Авель']}}
Прекрасная печать:
{'age': 45,
'family': {'children': ['Каин', 'Авель'], 'spouse': 'Адам'},
'hobbies': ['чтение', 'игры', 'пешие прогулки'],
'name': 'Ева'}
Итак, друзья! Мы путешествовали по земле форматирования вывода в Python, от базовой функции print до элегантного модуля pprint. Помните, хорошее форматирование – это как хорошие манеры – оно делает все более приятным и легко понятным.
По мере продолжения вашего путешествия с Python, продолжайте экспериментировать с этими техниками форматирования. Скоро вы будете создавать выводы, которые не только функциональны, но и просто великолепны. Счастливого кодирования, и愿 ваш выводы всегда были идеально форматированы!
Credits: Image by storyset