Здесь философия Python, о которой шла речь в главе 08, впервые становится конкретным практическим отличием от Pascal из главы 07 — не просто разные слова, а разный подход к самой идее переменной.
Переменная в Python создаётся простым присваиванием, без предварительного объявления типа:
В Pascal переменную требовалось заранее объявить с явным указанием типа
(var age: integer;) — попытка присвоить переменной значение неподходящего
типа не проходила компиляцию вообще. Python устроен иначе — это язык с динамической
типизацией: тип переменной определяется автоматически по тому значению, которое
ей присвоено прямо сейчас, и может измениться при повторном присваивании:
| Тип | Название в Python | Пример |
|---|---|---|
| Целое число | int | 25, -3, 0 |
| Дробное число | float | 1.75, -0.5, 3.0 |
| Строка (текст) | str | "Тариэл", 'привет' |
| Логическое значение | bool | True, False |
Функция type() показывает текущий тип любой переменной — полезно, особенно
учитывая, что тип может незаметно поменяться при повторном присваивании, как в примере
выше:
age и Age — разные переменные.user_age, а не
UserAge).if, for,
class и подобные) в качестве имени переменной.
Попытка int("привет") завершится ошибкой — строка, не являющаяся числом,
не может быть превращена в число (подробнее о том, как обрабатывать такие ошибки — глава
21). Преобразование дробного числа в целое через int() всегда
отбрасывает дробную часть, а не округляет её математически —
int(3.9) даёт 3, а не 4, что иногда становится неожиданностью для тех, кто
интуитивно ждёт округления.
| Оператор | Значение | Пример |
|---|---|---|
| + | Сложение | 5 + 3 → 8 |
| - | Вычитание | 5 - 3 → 2 |
| * | Умножение | 5 * 3 → 15 |
| / | Деление (всегда даёт дробный результат) | 7 / 2 → 3.5 |
| // | Целочисленное деление (округление вниз) | 7 // 2 → 3 |
| % | Остаток от деления | 7 % 2 → 1 |
| ** | Возведение в степень | 2 ** 3 → 8 |
Обрати внимание на разницу между / и // — обычное деление в
Python 3 всегда возвращает дробное число, даже если результат "ровный" (7 / 1 даёт 7.0, а
не 7), тогда как // целенаправленно отбрасывает дробную часть результата.
Современный и самый удобный способ вставить значения переменных прямо в текст — f-строка (буква f перед кавычками, значения переменных — в фигурных скобках):
Следующая глава — условия и циклы, те самые три конструкции структурного программирования (глава 07), теперь уже в реальном синтаксисе Python — с отступами вместо скобок Pascal и номеров строк BASIC.
Книга бесплатна для чтения. Автор — Тариел Бежанидзе, компьютерный мастер в Батуми · tariel.ge · все бесплатные книги. Копировать текст целиком на другие сайты — только со ссылкой на источник.