Python
Python examples
Эта подборка нужна, когда хочется увидеть не одну команду, а несколько маленьких рабочих примеров Python. Каждый фрагмент можно скопировать в отдельный файл, запустить и изменить под свою задачу
Лучший способ работать с такими примерами — запускать их по одному. Не собирайте все в один файл сразу: сначала проверьте отдельный фрагмент, затем поменяйте входные данные, после этого добавляйте свою логику
По этой теме полезно отдельно посмотреть Составьте еженедельное расписание занятий, чтобы расширить контекст и сравнить подходы
По этой теме полезно отдельно посмотреть Аннотации типов для декораторов в Python, чтобы расширить контекст и сравнить подходы
Пример 1. Ввод и проверка числа
raw = input('Введите возраст: ')
age = int(raw)
if age >= 18:
print('доступ открыт')
else:
print('доступ закрыт')
Этот пример показывает связку input(), преобразование строки в число и условие if. Проверьте значения 17, 18 и пустой ввод. Пустой ввод вызовет ошибку, и это хороший повод добавить обработку исключения
Пример 2. Безопасное преобразование числа
raw = input('Введите число: ')
try:
number = int(raw)
except ValueError:
print('Это не число')
else:
print(number * 2)
Такой код нужен, когда пользователь может ввести что угодно. try/except не дает программе упасть на первом неправильном значении
Пример 3. Цикл по списку
names = ['Анна', 'Олег', 'Мария']
for name in names:
print(f'Привет, {name}')
Цикл for берет элементы списка по одному. Вместо имен можно подставить товары, задачи, строки файла или пользователей
Пример 4. Фильтрация списка
prices = [1200, 450, 990, 3100, 700]
cheap = []
for price in prices:
if price <= 1000:
cheap.append(price)
print(cheap)
Здесь создается новый список только с подходящими значениями. Такой шаблон часто используют для отбора строк, товаров, файлов или записей из API
Пример 5. Функция
def format_price(value):
return f'{value:,.0f} руб'.replace(',', ' ')
print(format_price(12500))
print(format_price(990))
Функция дает имя повторяющемуся действию. Если завтра формат цены изменится, вы исправите одну функцию, а не десятки строк
Пример 6. Словарь с настройками
settings = {
'theme': 'dark',
'items_per_page': 20,
'show_tips': True,
}
if settings['show_tips']:
print('подсказки включены')
Словарь удобен, когда у объекта есть именованные поля: настройки, пользователь, товар, задача, ответ API
Пример 7. Список словарей
users = [
{'name': 'Анна', 'active': True},
{'name': 'Олег', 'active': False},
{'name': 'Мария', 'active': True},
]
active_names = []
for user in users:
if user['active']:
active_names.append(user['name'])
print(active_names)
Это уже ближе к реальным данным. API и базы часто возвращают не одну строку, а список объектов
Пример 8. Работа с файлом
from pathlib import Path
path = Path('result.txt')
path.write_text('готово', encoding='utf-8')
print(path.read_text(encoding='utf-8'))
Проверьте, где появился файл. Если не видите его рядом со скриптом, значит, программа запущена из другой рабочей папки
Пример 9. Прочитать файл построчно
from pathlib import Path
path = Path('items.txt')
path.write_text('яблоко\nбанан\nапельсин', encoding='utf-8')
for line in path.read_text(encoding='utf-8').splitlines():
print(line.upper())
Так можно обрабатывать маленькие текстовые файлы. Для очень больших файлов лучше читать потоково через open()
Пример 10. JSON
import json
user = {
'name': 'Анна',
'role': 'admin',
}
text = json.dumps(user, ensure_ascii=False)
print(text)
data = json.loads(text)
print(data['name'])
JSON часто встречается в API, настройках и обмене данными между сервисами
Пример 11. Аргумент командной строки
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('name')
args = parser.parse_args()
print(f'Привет, {args.name}')
Запуск:
python app.py Анна
Так обычный файл превращается в маленькую CLI-утилиту
Пример 12. Мини-калькулятор скидки
def apply_discount(price, percent):
return price * (1 - percent / 100)
price = 1200
discount = 15
result = apply_discount(price, discount)
print(round(result, 2))
Этот пример объединяет переменные, функцию, арифметику и вывод результата
Как разбирать любой пример
Найдите исходные данные
Найдите действие
Найдите вывод или возвращаемое значение
Измените одно значение
Добавьте неудобный случай
Объясните результат словами
Что попробовать дальше
Сделать список задач и вывести только незавершенные
Прочитать строки из файла и посчитать их количество
Написать функцию проверки email по простым условиям
Собрать маленький калькулятор скидки
Сохранить отчет в текстовый файл
Хороший пример Python должен запускаться отдельно, иметь понятные входные данные и давать результат, который можно проверить глазами. Если пример не запускается, сначала уменьшите его до минимального фрагмента, а потом возвращайте детали
Когда один пример стал понятен, сделайте из него маленькую задачу: поменяйте данные, добавьте проверку ошибки, вынесите повторяющийся код в функцию или сохраните результат в файл