Найти в Дзене

"Python": Переменные, присваивание, type() и id(). Или как перестать бояться и полюбить динамическую типизацию

Итак, вы решили стать "питонистом". Ну что ж, поздравляю (или сочувствую – зависит от вашего чувства юмора). Сегодня мы окунёмся в мир переменных, оператора присваивания, "type()" и "id()". Звучит скучно? А вот и нет! Потому что мы будем разбирать это с огоньком, иронией и пониманием, что в этой жизни и так слишком много серьёзности. В "Python" переменная – это как коробка. Вы можете положить туда что угодно: число, строку, список… Даже кота (но лучше не надо, коты этого не любят). Главное, что "Python" сам разберётся, что у вас в коробке лежит. Он же умный, как никак. В других языках, типа "C++" или "Java", вам пришлось бы декларировать тип переменной заранее. Но "Python" говорит: "Зачем эти формальности? Просто скажи мне, что ты хочешь, а я уж сам разберусь!" И, знаете, это иногда очень удобно. А иногда… вызывает недоумение. Но об этом позже. Оператор присваивания "=" в корне меняет всё. Он берёт значение справа и кладёт его в коробку слева (то есть, присваивает переменной). Но не ду
Оглавление

Подписывайтесь на канал, ставьте лайки, пишите комментарии и не забудьте нажать "колокольчик", дабы не пропустить новые статьи :-).

Введение для тех, кто ещё не сбежал

Итак, вы решили стать "питонистом". Ну что ж, поздравляю (или сочувствую – зависит от вашего чувства юмора). Сегодня мы окунёмся в мир переменных, оператора присваивания, "type()" и "id()". Звучит скучно? А вот и нет! Потому что мы будем разбирать это с огоньком, иронией и пониманием, что в этой жизни и так слишком много серьёзности.

Переменные: коробки с сюрпризом или без?

В "Python" переменная – это как коробка. Вы можете положить туда что угодно: число, строку, список… Даже кота (но лучше не надо, коты этого не любят). Главное, что "Python" сам разберётся, что у вас в коробке лежит. Он же умный, как никак.

Пример использования переменных и вывода через функцию "print"
Пример использования переменных и вывода через функцию "print"

В других языках, типа "C++" или "Java", вам пришлось бы декларировать тип переменной заранее. Но "Python" говорит: "Зачем эти формальности? Просто скажи мне, что ты хочешь, а я уж сам разберусь!" И, знаете, это иногда очень удобно. А иногда… вызывает недоумение. Но об этом позже.

Оператор присваивания "=": волшебная палочка или просто знак равенства?

Оператор присваивания "=" в корне меняет всё. Он берёт значение справа и кладёт его в коробку слева (то есть, присваивает переменной). Но не думайте, что это как в математике! x = x + 1 – это не уравнение, которое нужно решать. Это команда: "Возьми текущее значение x, прибавь к нему 1, и положи результат обратно в x".

Вот так:

-2

Всё просто, как дважды два… Если, конечно, вы не пытаетесь присвоить что-то чему-то, что не может быть присвоено. Но "Python" вас об этом предупредит. Скорее всего, длинным и непонятным сообщением об ошибке.

Функция type(): заглянем в коробку

Иногда полезно узнать, что же всё-таки лежит в нашей "коробке". Для этого у нас есть функция "type()". Она как рентген – показывает, что за тип данных хранится в переменной.

-3

Зачем это нужно? Ну, например, чтобы не пытаться сложить строку с числом. "Python" этого не оценит.

Функция id(): где эта коробка вообще находится?

Но "Python" пошёл ещё дальше! Он позволяет нам узнать, где именно в памяти компьютера лежит наша переменная! Функция "id()" возвращает уникальный идентификатор объекта.

-4

Что это значит? А то, что "x" и "y" поначалу указывали на одно и то же место в памяти. Но потом "y" указал на другое место, потому что мы присвоили ему новое значение. "Python" очень экономный. Он не создаёт кучу одинаковых "коробок", а просто заставляет переменные указывать на существующие.

Заключение: динамическая типизация – это весело (иногда)

Итак, мы узнали, что "Python" – язык с динамической типизацией. Это значит, что тип переменной определяется во время выполнения программы. С одной стороны, это удобно и избавляет от лишней писанины. С другой стороны – может привести к неожиданным ошибкам, которые вылезут только в самый неподходящий момент.

Но не бойтесь! "Python" – отличный язык. Просто нужно знать его особенности и уметь с ними справляться. И помнить: если что-то идёт не так, всегда можно добавить немного сарказма и юмора. Это помогает!