Anteprima della lezione

Переменные, числа и строки в Python: f-строки и t-строки

Базовые типы: int, float, bool, str, имена и присваивание, f-строки. Для опытных: f-строки без ограничений на кавычки (3.12), шаблонные t-строки (3.14) и модуль math.integer (3.15).

переменная типы данных f-строка t-строка
Cosa imparerai in questa lezione
  • Объявлять переменные и понимать динамическую типизацию
  • Форматировать вывод f-строками
  • Понимать, зачем нужны t-строки

Inizio della lezione

0.1 + 0.2 = 0.30000000000000004. Python сломался?

  • Дробные числа хранятся в двоичном виде с погрешностью
  • Так же ведут себя JavaScript, Java, C
  • Для денег — Decimal или целые копейки

Наберите в консоли ноль целых одна десятая плюс ноль целых две десятых. Ответ вас удивит: вместо ровных трёх десятых получится длинный хвост с четвёркой на конце. Новички в этот момент пишут на форумы, что Python считает с ошибкой. Но дело не в Python, а в том, как любой компьютер хранит дробные числа. И раз уж мы пишем трекер расходов, с этим придётся разобраться до того, как деньги начнут теряться по копейке.

>>> 0.1 + 0.2
0.30000000000000004
>>> from decimal import Decimal
>>> Decimal("0.1") + Decimal("0.2")
Decimal('0.3')

Переменная — это ярлык, а не коробка

  • Присваивание: имя = значение
  • Имя указывает на объект в памяти
  • Имена: snake_case, латиница, не с цифры

Часто говорят, что переменная — это коробка, куда кладут значение. Для Python точнее другая картинка: ярлык на верёвочке. Значение живёт само по себе, а вы привязываете к нему имя, чтобы потом обратиться. Можно перевязать ярлык на другое значение, можно повесить два ярлыка на одно. Знак равенства здесь означает не «равно», как в математике, а «привяжи это имя вот к этому». Это пригодится, когда дойдём до списков.

Четыре базовых типа

  • int — целое: 250
  • float — дробное: 12.5
  • str — строка: "Кофе"
  • bool — логическое: True / False
  • type(x) — узнать тип

У каждого значения в Python есть тип, и от него зависит, что с этим значением можно делать. Целые числа, дробные, строки и логические значения «да» или «нет» — это четыре кирпичика, из которых строится почти всё остальное. Узнать тип можно встроенной функцией. А вот объявлять его заранее, как в Java или C, не нужно: Python сам понимает, что перед ним. Это называют динамической типизацией.

amount = 250          # int
price = 12.5          # float
item = "Кофе"         # str
paid = True           # bool

print(type(amount))   # <class 'int'>
print(type(item))     # <class 'str'>

La lezione completa è disponibile con l'abbonamento

11 altre slide nella versione completa.

Video, tutte le slide, appunti, test, tutor AI e intervista si sbloccano dopo l'accesso e l'abbonamento.

Accedi o registrati Attiva l'abbonamento

Contenuti della lezione

  1. 0.1 + 0.2 = 0.30000000000000004. Python сломался?
  2. Переменная — это ярлык, а не коробка
  3. Четыре базовых типа
  4. Арифметика: два вида деления
  5. Грабли: round() округляет «по-банковски»
  6. Строки: срезы и методы
  7. Миф: строку и число можно просто сложить
  8. f-строки: вставляем значения прямо в текст
  9. ❓ Стоп-проверка: что напечатает этот код?
  10. ✅ Ответ: 3.5 3 2.3
  11. Что нового: f-строки без ограничений (3.12, PEP 701)
  12. Что нового: t-строки — шаблон, а не готовый текст (3.14)
  13. Что нового: модуль math.integer (3.15, PEP 791)
  14. Итог: трекер печатает аккуратную строку

Tutte le lezioni del corso

  1. Python 3.15 с нуля и для опытных: что нового и как учить
  2. Python 3.15: установка, REPL и первый скрипт за десять минут
  3. Переменные, числа и строки в Python: f-строки и t-строки
  4. Условия, циклы и match/case в Python: управляем ходом программы
  5. Списки, кортежи, словари и множества: frozendict в Python 3.15
  6. Comprehensions в Python: распаковка * и ** внутри (PEP 798)
  7. Функции и аннотации типов в Python: от def до sentinel
  8. Ошибки и исключения в Python 3.15: читаем трейсбек и подсказки «Did you mean»
  9. Модули, пакеты и ленивые импорты в Python 3.15 (PEP 810)
  10. Файлы, JSON и CSV в Python: pathlib и UTF-8 по умолчанию
  11. Классы и dataclasses в Python: ООП без лишнего кода
  12. Асинхронность и потоки в Python: asyncio, TaskGroup и free-threading
  13. Профилирование Python 3.15: Tachyon вместо cProfile и итоговый проект