Python последовательность инициализации переменной

Как работают переменные в Python

Каждый элемент данных в Python является объектом определенного типа или класса. Когда, в процессе выполнения программного кода, появляется новое значение, интерпретатор выделяет для него область памяти — то есть создаёт объект определенного типа (число, строка и т.д.). После этого Python записывает в свой внутренний список адрес этого объекта.

Но как теперь получить доступ к созданному объекту? 🤷‍♀️

Для этого и существуют переменные — они дают возможность удобно работать с объектами используя имена вместо адресов.

Простыми словами переменная в Python — это просто имя, прикрепленное к определенному объекту

Чтобы создать новую переменную в Python, ее не нужно заранее инициализировать — достаточно придумать ей имя и присвоить значение через оператор = .

a = 123 print(a) > 123 print(type(a)) print(id(a)) 1827204944

В примере выше мы создали переменную a и присвоили ей значение 123 , далее вывели ее значение, тип и адрес объекта в памяти.

🍏 🍊 Приведем простую аналогию: Представьте, что у вас есть много непрозрачных бутылок, а сами вы занимаетесь производством фруктовых соков. Однажды вы выжали фрукты и в один сосуд налили апельсиновый сок, а во второй — яблочный. После этого ёмкости были запечатаны. Резонный вопрос: как теперь выяснить содержимое отдельно взятой бутылки?

Читайте также:  Кнопка поверх всех окон html

Ответ: предварительно их подписать. Сделав это, вы будете точно знать, что находится в бутылках, а значит, сможете производить с ними дальнейшие операции: назначать цену, сортировать, отправлять на продажу и так далее.

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

  • переменная — карточка продукции;
  • адрес — это номер ячейки на складе;
  • объект — сама ячейка;
  • данные — бутылка с соком внутри.

Переменные, объекты и ссылки

Для понимания работы переменных, необходимо разобрать, что происходит, когда вы создаете новую переменную и присваиваете ей значение?

В данном примере происходит следующее:

  1. создается объект типа int со значением 100 ;
  2. создается переменная a ;
  3. в переменной a сохранится адрес (ссылка) на объект;

Важно : переменная в Python не хранит значение напрямую — она хранит лишь ссылку на объект

Теперь посмотрим что произойдет, если одной переменной присвоить другую переменную:

b = a print(id(a)) > 1827204576 print(id(b)) > 1827204576

В данном примере Python не создает новый объект — он просто создает переменную, которая ссылается на тот же объект, что и переменная a .

Предположим, что в какой-то момент вы захотели поменять значение переменной b :

b = 500 print(id(a)) > 1827204576 print(id(b)) > 56754272

В данном примере Python создал новый объект типа int, и теперь переменная b ссылается на новый объект.

Рассмотрим еще один пример:

b = «tree» print(id(b)) > 54134048

В этом примере создается новый объект типа str , и переменная b ссылается на новый объект.

Читайте также:  Php strtotime начало дня

b = «tree», переменная b теперь ссылается на новый объект строкового типа

На объект типа int со значением 500 больше никто не ссылается. Следовательно, он больше не доступен и будет удален сборщиком мусора (тем самым освободив немного памяти).

Идентификатор объекта (Object Identity)

В примерах выше мы вызывали функцию id() . Эта функция возвращает число, которое является неизменным и уникальным для каждого объекта на протяжении его жизненного периода:

a = b = 1 print(id(a)) > 1593636784 print(id(b)) > 1593636784 print(id(1)) > 1593636784

Видно, что объект здесь всего один. А a и b — по-разному названные переменные, которые на него ссылаются. Проверить равенство идентификаторов можно с помощью оператора is :

Работа с переменными

Именование переменных

В языке Python имя переменной должно состоять только из цифр, букв и знаков подчеркивания. И не должно начинаться с цифры.

Это жёсткий внутренний закон языка, помимо которого есть свод более мягких, но не менее важных правил, и они говорят нам:

  • давайте переменным имена, которые описывают суть объекта;
  • используйте единый стиль именования в рамках каждого проекта;
  • старайтесь не создавать наименования длиннее пятнадцати символов;

Источник

Полное руководство по использованию инициализации начальным значением в Python

Инициализация начальным значением — это процесс установки начального значения для переменной при ее определении. В Python есть несколько способов установки начального значения переменной, и в этом руководстве мы рассмотрим их все.

Использование инициализации начальным значением

Начальные значения переменных

Переменные в Python могут иметь различные типы данных, и, следовательно, разные начальные значения:

  • int : 0
  • float : 0.0
  • bool : False
  • str : пустая строка «»
  • list : пустой список []
  • tuple : пустой кортеж ()
  • dict : пустой словарь <>

Инициализация переменных значением

Простейший способ установки начального значения для переменной — это использование знака равенства (=):

Читайте также:  Блок с тенью

В этом примере мы инициализируем переменную x значением 5 .

Инициализация переменных при помощи оператора if

Мы можем использовать оператор if для проверки условия и установки значения переменной в зависимости от результата проверки:

if condition: x = value else: x = other_value 

В этом примере мы проверяем значение переменной condition . Если оно истинно, мы устанавливаем переменную x значением value , если нет — значением other_value .

Инициализация переменных при помощи генераторов списков

Генератор списков — это конструкция, которая позволяет создавать списки очень легко и эффективно:

evens = [x for x in range(10) if x % 2 == 0] 

В этом примере мы создаем список evens , который содержит только четные числа от 0 до 9.

Инициализация переменных при помощи генераторов словарей

Генераторы словарей — это конструкции, которые позволяют создавать словари очень легко и эффективно:

В этом примере мы создаем словарь students , который содержит оценки студентов из списка records .

Инициализация переменных при помощи оператора switch

В Python нет оператора switch, но мы можем эмулировать его при помощи словарей:

В этом примере мы определяем функцию f , которая возвращает значение из словаря в зависимости от переданного аргумента.

Инициализация переменных при помощи функций

Мы можем использовать функции для установки начального значения переменной:

def get_value(): return 42 x = get_value() 

В этом примере мы определяем функцию get_value , которая возвращает значение 42 , и затем инициализируем переменную x этим значением.

Заключение

Использование инициализации начальным значением в Python дает возможность устанавливать начальные значения переменных разными способами. Каждый способ имеет свои особенности и может быть полезен в разных ситуациях. В этом руководстве мы рассмотрели все доступные в Python способы инициализации начальным значениям.

Источник

Оцените статью