Как инициализировать переменную в питоне

ПЕРЕ­МЕН­НЫЕ

Вспомним недавний пример: сколько лет вам исполнится через два года? Проанализируем, как мы получаем ответ на вопрос.

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

Точно так же работает компьютер.

ХРА­НЕ­НИЕ ЗНА­ЧЕНИЙ

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

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

Слова на самом деле ничего не значат. Каждая здесь написанная характеристика уникальная для каждого из нас: «жизнь» у нас разная, «рождение» — разное и, в конце концов, «я» — совершенно разные!

Если попытаемся вдуматься ещё глубже, начав специально вспоминать разные вещи — домашний адрес, номер телефона близкого человека, пароль к Steam, — удивительно, но мы не сможем понять, как это делается! Просто вспомнили — и всё!

Читайте также:  Which python version to learn

Беда в том, что для компьютера подобный процесс просто не возможен. Устройство не может «просто вспомнить» или «просто запомнить». Ему нужно что-то другое.

ПЕ­РЕМЕН­НЫЕ

Переменная предназначена для хранения значений. Именно с помощью переменных компьютер запоминает какие-либо данные, может извлекать их из памяти, производить вычисления, одним словом, — обрабатывать информацию. Всё, что не помещено в переменные для компьютера просто не существует.

Если продолжить аналогию с человеческой памятью, то переменная — это та же ассоциация, которая позволяет извлечь из памяти какое-либо связанное с этой переменной значение.

Технически переменная является ссылкой на ячейку памяти. Точно такой же, как ссылки в интернете. Вы кликаете мышью на подчёркнутую фразу и попадаете на нужный сайт. В программировании вы указываете имя переменной и действие с ней: компьютер работает со значением, «запомненным» в связке с названием. В примере с ссылкой на сайт сама ссылка будет именем переменной, а содержимое требуемого сайта — значением.

Переменная — именованная область памяти для хранения значений.

Если область именована, значит, у неё есть имя. Ваш Кэп.

ИМЯ И ЗНА­ЧЕНИЕ

Каждая переменная определяется своим именем. Имя переменной называется идентификатором. Два разных значения должны храниться под двумя разными идентификаторами.

Значение (или содержимое) переменной может задаваться напрямую, или может вычисляться, то есть являться результатом какого-либо допустимого языком программирования выражения.

Python сам определяет тип переменной в тот момент, когда вы работаете с переменной, например, создаёте её.

Требования к именам переменных:

Требования к значениям переменных:

Ребёнка называют родители. Переменную называет программист.

Старайтесь давать такие имена, которые отражают суть хранимого значения. Например, хорошее имя переменной health для хранения значения «жизни» в CS:GO, а money — для хранения суммы денег на покупку оружия и брони.

Если требуется создать идентификатор, состоящий из нескольких слов, то первое слово записывается маленькими буквами, каждой последующее — с большой буквы. Например, healthOfPlayer.

Также для разделения слов в имени переменной используют знак подчёркивания: «_». Например, health_of_player. В этом случае каждое новое слово в идентификаторе записывается с маленькой буквы.

Всё вышенаписанное не мешает нам пользоваться короткими именами переменных — a, b, c, x, y. Если ваша программа небольшая — пользуйтесь односимвольными именами, так проще.

ПРИС­ВАИВА­ЕМ ЗНА­ЧЕ­НИЕ

Присвоение значения переменной выполняется с помощью оператора =. Слева от знака указывается имя переменной, справа — значение или выражение.

Сам знак называется оператором присваивания.

После выполнения двух этих строк в оперативной памяти компьютера будут хранится значения 100 и 16000, доступ к которым мы можем получить с помощью идентификаторов health и money.

Прекращение работы программы приведёт к автоматическому удалению значений из памяти. Таким образом память «очищается» и освободившееся место доступно для использования другими программами, или повторно запущенной нашей.

Для присвоения строкового значения строку нужно взять в парные кавычки.

Произойдёт аналогичное предыдущему действие, только вместо числа в ячейке памяти будет хранится строка с моим именем.

ВЫЧИС­ЛЯЕМ ЗНА­ЧЕНИЕ

Значения в переменных можно с лёгкостью изменять.

a = 3 b = 5 a = a + 5 b = b + a print(a + b)

Какое число возникнет на экране? Ответ

Обязательно контролируйте, чтобы используемая в вычислениях переменная уже существовала в программе.

Например, следующая программа выдаст ошибку:

b = 5 a = a + 5 b = b + a print(a + b)

Дойдя до строки a = a + 5, Python попытается «вспомнить», чему же равна переменная a. А ничему. Мы её не определили. Пытаться заставить компьютер посчитать «ничего» + 5 не очень доброе занятие.

Для избежания подобной ошибки рекомендую каждую переменную инициализировать в начале программы.

Инициализация переменной — процесс, при котором мы определяем переменную и помещаем в неё какое-нибудь значение. Чаще всего значение нулевое. Инициализация обычно происходит в первых строчках программы. Хотя требование инициализировать переменные для языка Python не обязательно, но если выработаете привычку инициализировать каждую используемую переменную — избежите проблем в будущем

Программа, вычисляющая площадь прямоугольника:

a = 30 b = 7 s = a * b print(s)

Здесь инициализация произошла в строках:

Переменная s в выражении s = a * b не проинициализирована, но это не страшно, потому что программа короткая. Инициализация происходит в момент вычисления a * b.

БЛОКИ ВВОДА, ОБРА­БОТКИ, ВЫ­ВОДА

Вы ещё не заметили, что в предыдущей программе.

a = 30 b = 7 s = a * b print(s)

. существуют все три блока: ввод, обработка и вывод? Рассмотрим их.

Блок ввода

Этими двумя строками мы вводим значения в программу для дальнейшей обработки. Программа получила числа, поместила их в переменные с идентификаторами a и b. То есть «запомнила» их.

Почему мы используем короткие имена переменных? Ответ

Потому что программа очень короткая! Короткая программа — короткие имена, изи же!

Блок обработки

В этом месте Python пользуется ресурсами процессора и вычисляет нам значение выражения a * b. То есть программа берёт и подставляет значения, находящиеся в памяти компьютера с идентификаторами a и b.

Блок вывода

Значения обработаны. Результат получен. Результат занесён в переменную s. Теперь мы не просто можем, но даже обязаны показать результат на экране. Если убрать строку print(s), то программа станет бессмысленной. Где-то в недрах компьютерной памяти в переменной с именем s будет находиться число 210 (30 * 7), но мы его так и не увидим.

Мы можем сократить программу до:

Но делать этого не стоит. Почему?

КОГ­ДА НУЖНО ПОЛЬ­ЗОВАТЬ­СЯ ПЕ­РЕМЕН­НЫМИ

Рассмотрим недостатки предыдущих версий программ:

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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 ссылается на новый объект.

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 имя переменной должно состоять только из цифр, букв и знаков подчеркивания. И не должно начинаться с цифры.

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

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

Источник

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