Основы Python: шпаргалка

Первые конструкции, с которых начинается любой скрипт: вывод, переменные, ввод.

Переменные и присваивание

price = 199
qty = 3
total = price * qty       # 597
total += 100              # 697
price, qty = qty, price   # swap: price=3, qty=199

Имя появляется в момент первого присваивания, объявлять тип не нужно. total += 100 — то же, что total = total + 100; так же работают -=, *= и /=.

print: вывод и разделители

print('total', 597)        # total 597
print(1, 2, 3, sep=', ')   # 1, 2, 3
print('loading', end='... ')
print('done')              # loading... done

print сам ставит пробел между значениями и перенос строки в конце — sep и end это меняют. Для отладки печатай подпись рядом со значением: print(«total», total).

f-строки: значения внутри текста

name = 'Anna'
price = 199
print(f'{name}: {price} RUB')   # Anna: 199 RUB
print(f'{price * 0.9:.2f}')     # 179.10

Буква f перед кавычками включает подстановку — внутри {} работает любое выражение. Формат :.2f оставляет два знака после точки.

Комментарии

# comment until the end of the line
rate = 0.13  # tax rate

# temporarily disable a line:
# rate = 0.2

Всё после # интерпретатор пропускает — до конца строки. Хороший комментарий объясняет «почему», а не пересказывает код.

Первый скрипт: ввод, вычисление и вывод

Соберём конструкции из карточек в одну программу: она спросит имя и число упражнений на день, затем посчитает план на неделю. Сохрани код в файл plan.py и запусти командой python3 plan.py в терминале с установленным Python 3.

name = input()
per_day = int(input())
days = 7
total = per_day * days
print(f'{name}: упражнений за неделю — {total}')

Ввод: две строки

Аня
3

Вывод программы

Аня: упражнений за неделю — 21

После имени нажми Enter, затем введи число и снова нажми Enter. Каждый вызов input() читает одну строку без завершающего переноса. Первый сохраняет имя в name, второй передаёт строку функции int(), чтобы получить целое число. Здесь ожидается количество вроде 0, 3 или 10.

Без преобразования '3' * 7 даст '3333333': умножение повторяет строку. После int() выражение 3 * 7 вычислит 21. Буква f перед кавычками подставляет имя и результат в текст, а print() выводит его. Подробности — в разборах преобразования типов и f-строк.

Три ошибки при первом запуске

  • NameError: имя использовано до присваивания или написано по-разному. Например, per_day и per_Day — разные имена. Сверь строку ошибки с объявлением переменной; подробнее — как исправить NameError.
  • ValueError: во второй строке введено три или 3.5. Функция int() не разбирает такие строки как целые числа. Для этого примера введи 3; обработка произвольного ввода разобрана в статье про try/except.
  • В выводе остались фигурные скобки: перед открывающей кавычкой пропущена f. Обычная строка печатает текст внутри скобок буквально.

Проверь себя: при вводе Илья и 0 программа должна вывести «Илья: упражнений за неделю — 0». Затем замени days = 7 на days = 5 и повтори пример с Аней: результат станет 15. Следующие упражнения на ввод, переменные и вывод есть в пути «Python с нуля».

поделиться: Telegram VK

Что дальше