Что такое переменная в python
Введение в Python
Поиск
Новое на сайте
Типы данных в Python
Переменные в Python:
Переменная в языке программирования это название для зарезервированного места в памяти компьютера, предназначенное для хранения значений. Это означает, что когда вы создаете переменную, вы на самом деле резервируете определенное место в памяти компьютера.
Основываясь на типе данных переменной, интерпретатор выделяет необходимое количество памяти и решает, что может находится в зарезервированной области памяти.
Для понимания, можете думать о переменной как о коробке, в которую можно положить любую вещь, но только определенного размера. Размер в данном примере будет типом переменной. Это не совсем верное определение, но оно дает общее представление о картине в целом.
Присвоение значения переменной:
В Python вам не нужно объявлять тип переменной вручную (как, например в С++). Объявление происходит автоматически (это называется динамическая типизация), когда вы присваиваете значение переменной. Знак равенства ( = ) используется для присвоения значения переменной.
При выполнении, данный код выведет:
Множественное присвоение значений:
В Python возможно присваивать одно значение нескольким переменным сразу. Например:
В данном создается объект со значением 1, и все 3 переменные указывают на область в памяти, в которой он находится.
Встроенные типы данных в Python:
К стандартным типам данных в Python относят:
Числовой тип данных в Python:
Числовой тип данных в Python предназначен для хранения числовых значений. Это неизменяемый тип данных, что означает, что изменение значения числового типа данных приведет к созданию нового объекта в памяти (и удалению старого)
Числовые объекты создаются, когда вы присваиваете им значение. Например:
Также вы можете удалять числовой объект при помощи ключевого слова del. Синтаксис команды del следующий:
В Python есть четыре вида числового типа данных:
Примеры видов числового типа данных:
int | long | float | complex |
---|---|---|---|
1 | 51924361L | 0.0 | 3.14j |
102 | -0x19323L | 15.20 | 45.j |
-786 | 0122L | -21.9 | 9.322e-36j |
0 | 0xDEFABCECBDAECBFBAEl | 32.3+e18 | .876j |
0b10 | 535633629843L | -90. | -.6545+0J |
-0x260 | -052318172735L | -32.54e100 | 3e+26J |
0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
Строки в Python:
Оператор плюс ( + ) для строк соединяет две строки в одну, звездочка ( * ) оператор повторения. Например:
В результате вы увидите следующее
Списки в Python:
Списки, пожалуй, самый универсальный составной тип данных в Python. Список состоит из элементов, разделенных запятыми, находящихся между квадратными скобками ( [ ] ). В определенной мере, списки подобны массивам в C. Единственной разницей является то, что элементы одного списка могут иметь разные типы данных.
В результате вы увидите :
Кортежи в Python:
Кортеж это еще один составной тип данных, похожий на список. Кортеж состоит из ряда значений, разделенных запятыми, заключенными в круглые скобки ( ( ) ). Основным различием между списками и кортежами является то, что элементы кортежей не могут быть изменены. То есть, кортежи можно рассматривать как списки доступные только для чтения.
Если у вас нет необходимости изменять элементы списка, то для экономии места в памяти лучше использовать тип данных кортеж.
В результате вы получите:
При этом, следующие действия доступны для списков и недоступны для кортежей:
Словари в Python:
Пары ключ, значение словаря заключаются в фигурные скобки ( < >). Есть несколько способов создания словарей:
Данный код выведет следующее:
Обратите внимание, что ключи и значения выводятся не в том порядке, в котором мы их задавали.
Сеты в Python:
Сет в Python это еще один изменяемый, коллекционный тип данных, отличительной чертой которого является то, что он хранит только уникальные значания.
Создать сеты можно следующими способами:
Преобразование типов данных:
Иногда может возникнуть необходимость преобразовать один тип данных в другой. Для этого существуют специальные встроенные функции Python. Вот некоторые из них:
Python переменные
Оглавление Присвоение переменной Типы переменных в Python Ссылки на объекты Идентичность объекта Имена переменных Зарезервированные слова (ключевые слова) Вывод Вот…
Вот что вы узнаете из этого руководства: вы узнаете, как каждый элемент данных в программе Python может быть описан абстрактным термином-объектом, и вы узнаете, как управлять
Присвоение переменной
Думайте о переменной как об имени, прикрепленном к определенному объекту. В Python переменные не нужно объявлять или определять заранее, как это имеет место во многих других языках программирования. Чтобы создать переменную, вы просто присваиваете ей значение, а затем начинаете использовать. Присваивание выполняется с помощью единственного знака равенства (=):
Это читается или интерпретируется как «n присвоено значение 300». Как только это будет сделано, n можно использовать в операторе или выражении, и его значение будет заменено:
Так же, как буквальное значение может отображаться непосредственно из приглашения интерпретатора в сеансе REPL без необходимости print(), переменная может:
Позже, если вы измените значение n и используете его снова, вместо него будет подставлено новое значение:
Python также позволяет назначать цепочки, что позволяет назначать одно и то же значение нескольким переменным одновременно:
Цепное присвоение, приведенное выше, одновременно присваивает 300 переменных a, b и c.
Типы переменных в Python
Во многих языках программирования переменные имеют статическую типизацию. Это означает, что переменная изначально объявляется как имеющая определенный тип данных, и любое значение, присвоенное ей во время ее существования, всегда должно иметь этот тип.
Это ограничение не распространяется на переменные в Python. В Python переменной может быть присвоено значение одного типа, а затем повторно присвоено значение другого типа:
Ссылки на объекты
Что на самом деле происходит, когда вы присваиваете переменную? Это важный вопрос для Python, потому что ответ несколько отличается от того, что вы найдете во многих других языках программирования.
Python – это весьма объектно-ориентированный язык. Фактически, практически каждый элемент данных в программе Python является объектом определенного типа или класса.
Рассмотрим этот код:
ри представлении оператора print (300) интерпретатор выполняет следующие действия:
Вы можете видеть, что целочисленный объект создается с помощью встроенной функции type():
Переменная Python – это символическое имя, которое является ссылкой или указателем на объект. После того, как объект назначен переменной, вы можете ссылаться на объект по этому имени. Но сами данные все еще содержатся в объекте.
Это присвоение создает целочисленный объект со значением 300 и присваивает переменной n, указывающей на этот объект.
Следующий код проверяет, что n указывает на целочисленный объект:
Теперь рассмотрим следующее утверждение:
Что происходит, когда он выполняется? Python не создает другой объект. Он просто создает новое символическое имя или ссылку, m, которая указывает на тот же объект, на который указывает n.
Множественные ссылки на один объект
Далее предположим, что вы делаете это:
Теперь Python создает новый целочисленный объект со значением 400, и m становится ссылкой на него.
Ссылки на отдельные объекты
Наконец, предположим, что этот оператор выполняется следующим образом:
Теперь Python создает строковый объект со значением «foo» и делает ссылку на n.
Ссылка на целочисленный объект 300 больше не существует. Он потерян, и к нему невозможно получить доступ.
В руководствах этой серии иногда упоминается время жизни объекта. Жизнь объекта начинается с момента его создания, когда создается по крайней мере одна ссылка на него. Во время существования объекта могут быть созданы дополнительные ссылки на него, как вы видели выше, а также ссылки на него могут быть удалены. Объект как бы остается в живых, пока на него есть хотя бы одна ссылка.
Когда количество ссылок на объект падает до нуля, он становится недоступным. На этом его срок службы закончился. Python в конечном итоге заметит, что он недоступен, и освободит выделенную память, чтобы ее можно было использовать для чего-то другого. На компьютерном жаргоне этот процесс называется сборкой мусора.
Идентичность объекта
В Python каждому создаваемому объекту присваивается номер, который однозначно его идентифицирует. Гарантируется, что никакие два объекта не будут иметь одинаковый идентификатор в течение любого периода, в течение которого их время жизни перекрывается. Как только счетчик ссылок на объект упадет до нуля и он будет обработан сборщиком мусора, как это произошло с объектом 300 выше, его идентификационный номер становится доступным и может использоваться снова.
Глубокое погружение: кэширование малых целочисленных значений
Из того, что вы теперь знаете о назначении переменных и ссылках на объекты в Python, вероятно, вас не удивит следующее:
Здесь m и n по отдельности назначаются целочисленным объектам, имеющим значение 30. Но в этом случае id (m) и id (n) идентичны!
В целях оптимизации интерпретатор создает объекты для целых чисел в диапазоне [-5, 256] при запуске, а затем повторно использует их во время выполнения программы. Таким образом, когда вы назначаете отдельные переменные целочисленному значению в этом диапазоне, они фактически будут ссылаться на один и тот же объект.
Имена переменных
В примерах, которые вы видели до сих пор, использовались короткие, лаконичные имена переменных, такие как m и n. Но имена переменных могут быть более подробными. Фактически, это обычно полезно, потому что это делает назначение переменной более очевидным с первого взгляда.
Официально имена переменных в Python могут быть любой длины и могут состоять из прописных и строчных букв (A-Z, a-z), цифр (0-9) и символа подчеркивания (_). Дополнительным ограничением является то, что, хотя имя переменной может содержать цифры, первый символ имени переменной не может быть цифрой.
Примечание. Одним из дополнений к Python 3 была полная поддержка Unicode, которая также позволяет использовать символы Unicode в имени переменной. Вы узнаете о Unicode более подробно в одном из будущих руководств.
Например, все следующие допустимые имена переменных:
Но это не так, потому что имя переменной не может начинаться с цифры:
Обратите внимание, что регистр имеет значение. Строчные и прописные буквы – это не одно и то же. Также важно использование символа подчеркивания. Каждое из следующего определяет разные переменные:
Ничто не мешает вам создать две разные переменные в одной программе под названием age и Age, или, если на то пошло, agE. Но, вероятно, это опрометчиво. Это, безусловно, могло бы сбить с толку любого, кто пытается прочитать ваш код, и даже вас самого, после того, как вы какое-то время отдалились от него.
Целесообразно дать переменной имя, которое будет достаточно описательным, чтобы было понятно, для чего она используется. Например, предположим, что вы подсчитываете количество людей, окончивших колледж. Вы могли бы выбрать любое из следующего:
Все они, вероятно, лучший выбор, чем n, ncg и т.п. По крайней мере, вы можете сказать по имени, что должно представлять значение переменной.
С другой стороны, не обязательно все они одинаково удобочитаемы. Как и во многих других случаях, это вопрос личных предпочтений, но большинство людей сочтут, что первые два примера, в которых все буквы сложены вместе, труднее читать, особенно букву, написанную заглавными буквами. Наиболее часто используемые методы построения имени переменной из нескольких слов – это последние три примера:
Программисты горячо, с удивительной страстью спорят, что из них предпочтительнее. За всех них можно привести достойные аргументы. Используйте тот из трех, который вам больше всего нравится. Выберите один и используйте его постоянно.
Позже вы увидите, что не только переменным можно давать имена. Вы также можете давать имена функциям, классам, модулям и так далее. Правила, применяемые к именам переменных, также применяются к идентификаторам, более общему термину для имен, присваиваемых программным объектам.
Руководство по стилю кода Python, также известное как PEP 8, содержит соглашения об именах, в которых перечислены рекомендуемые стандарты для имен различных типов объектов. PEP 8 включает следующие рекомендации:
Зарезервированные слова (ключевые слова)
Есть еще одно ограничение на имена идентификаторов. В языке Python зарезервирован небольшой набор ключевых слов, обозначающих специальные языковые функции. Ни один объект не может иметь то же имя, что и зарезервированное слово.
В Python 3.6 есть 33 зарезервированных ключевых слова:
Python Keywords | |||
---|---|---|---|
False | def | if | raise |
None | del | import | return |
True | elif | in | try |
and | else | is | while |
as | except | lambda | with |
assert | finally | nonlocal | yield |
break | for | not | |
class | from | or | |
continue | global | pass |
Вы можете просмотреть этот список в любое время, набрав help («ключевые слова») интерпретатору Python. Зарезервированные слова чувствительны к регистру и должны использоваться точно так, как показано. Все они полностью строчные, за исключением False, None и True.
Попытка создать переменную с тем же именем, что и любое зарезервированное слово, приводит к ошибке:
Вывод
В этом руководстве были рассмотрены основы переменных Python, включая ссылки на объекты и их идентификационные данные, а также именование идентификаторов Python.
Теперь вы хорошо разбираетесь в некоторых типах данных Python и знаете, как создавать переменные, которые ссылаются на объекты этих типов.
Переменные в Python — подробное руководство
Переменная Python — это идентификатор для ссылки на значение в программе. Переменная содержит место в памяти объекта. Они позволяют программе Python получать доступ к другим объектам и вызывать их функции или выполнять другие операции.
Правила для определения переменной Python
Есть несколько правил для определения переменной python.
Примеры допустимых имен
Примеры недопустимых имен
Как объявить переменную в Python?
Python — это язык с динамической типизацией. Нам не нужно указывать тип переменной при ее объявлении. Переменная определяется знаком равенства. Левая часть содержит имя переменной, а правая часть — значение.
Давайте посмотрим на несколько примеров объявления.
Python также поддерживает множественное назначение. Мы можем определить несколько переменных одновременно, используя множественное присваивание.
Мы также можем присвоить последовательность списку переменных. В этом случае количество элементов в последовательности должно быть равно количеству переменных.
Посмотрим, что произойдет, если количество переменных и количество элементов в последовательности не равны.
Как вывести значение?
Мы можем использовать функцию Python print() для печати и вывода значения. Давайте посмотрим на несколько примеров.
Советы
Если вы посмотрите на приведенные выше фрагменты кода, имена переменных случайны. Они не передают значения. Есть несколько рекомендаций, которым следует придерживаться.
Основываясь на приведенных выше передовых методах, мы можем изменить приведенный выше фрагмент кода, чтобы иметь правильные имена.
Как напечатать тип?
Мы не указываем тип переменной в программах на Python. Мы можем использовать функцию type() для определения типа.
Какие существуют типы?
Тип переменной Python — это тип данных ее значения. Python — это объектно-ориентированный язык программирования. Все в Python — это объект. Итак, переменные всегда являются экземпляром класса.
Область видимости переменной Python
Область видимости определяет область доступности переменной в программе. Переменные Python имеют две области действия:
Локальная
Когда переменная определена внутри функции или класса, она доступна только внутри них. Они называются локальными, и их область действия ограничена только границей этой функции или класса.
Давайте посмотрим на другой пример локальной переменной, определенной внутри класса. Область видимости — это класс для этого сценария.
Вывод: NameError: name ‘class_foo_var’ is not defined
Глобальная
Когда переменная не находится внутри функции или класса, она доступна из любой точки программы. Эти переменные называются глобальными.
Переменные, определенные внутри блоков кода, такие как if-else, for loop, while loop, try-except и т. Д., Добавляются в глобальную область видимости при условии, что код, объявляющий переменную, был выполнен. Давайте разберемся в этом на простом примере.
Var_else не определен, потому что код внутри блока else не был выполнен.
Давайте посмотрим на другой пример с блоком try-except.
Мы можем получить доступ, определенным внутри блока try и except, потому что они обе были выполнены.
Удаление
Статическая
Переменные, определенные внутри класса, доступны по имени класса. Их также называют статическими, потому что они принадлежат классу.
Также могут быть доступны из объекта класса. Однако рекомендуется использовать статический доступ к классу.
Краткое описание функций globals() и locals()
Мы можем использовать эти функции в любом месте кода, чтобы проверить, доступна ли переменная в этом месте или нет. Это встроенные функции в Python.
global ключевое слово
Мы можем получить доступ к глобальной переменной внутри функции. Но мы не можем это изменить. Мы должны использовать ключевое слово global чтобы изменить значение глобальной переменной внутри функции.
Посмотрим, что произойдет, когда мы попытаемся изменить значение внутри функции.
Причина проста. Когда мы используем оператор присваивания для изменения значения «name», он начинает обрабатываться как локальная переменная. Таким образом, доступ к нему внутри функции print() сбрасывает, потому что он не определен в этот момент.
Давайте используем ключевое слово global, чтобы изменить значение глобальной переменной.
nonlocal ключевое слово
Ключевое слово nonlocal используется для доступа к переменным, определенным вне области действия блока. Это всегда используется во вложенных функциях для доступа, определенным снаружи. Переменные всегда ищутся в ближайшей охватывающей области, за исключением глобальных.
Переменные
В Python нам необязательно указывать тип переменной, поскольку Python является языком с динамической типизацией.
Имена переменных могут состоять как из букв, так и из цифр, но они должны начинаться с буквы или символа подчеркивания.
Именование идентификаторов
Переменные являются примером идентификаторов. Правила присвоения имени идентификатору приведены ниже.
Объявление переменных и присвоение значений
Python не обязывает нас объявлять переменную перед ее использованием в приложении. Он позволяет нам создать переменную в нужный момент.
В Python нам не нужно объявлять переменную в явном виде. Когда мы присваиваем переменной какое-либо значение, эта переменная объявляется автоматически.
Оператор = используется для присвоения значения переменной.
Ссылки на объекты
Необходимо понять, как работает интерпретатор Python, когда мы объявляем переменную. Процесс обращения с переменными несколько отличается от многих других языков программирования.
Давайте разберем следующий пример
На изображении выше переменная a относится к целочисленному объекту.
Python эффективно управляет памятью, если мы присваиваем одной и той же переменной два разных значения.
Идентификация объекта
140734982691168 140734982691168 2822056960944
Имена переменных в python
Мы уже обсуждали, как объявить допустимую переменную. Имена переменных могут быть любой длины, могут содержать прописные и строчные буквы (от A до Z, от a до z), цифры (0-9) и символ подчеркивания(_). Рассмотрим следующий пример допустимых имен переменных.
Рассмотрим следующие имена допустимых переменных.
Описательные имена переменных, состоящие из нескольких слов могут быть определены следующим способом.
Множественная инициализация переменных в Python
Python позволяет присваивать значение нескольким переменным в одном операторе, что также известно как множественное присваивание.
Мы можем применять множественные присваивания двумя способами: либо присваивая одно значение нескольким переменным, либо присваивая несколько значений нескольким переменным. Рассмотрим следующий пример.
Значения будут присваиваться в том порядке, в котором появляются переменные.
Типы переменных Python
Локальные переменные в Python
В приведенном выше коде мы объявили функцию add() и назначили несколько переменных внутри функции. Эти переменные будут называться локальными переменными, которые имеют область видимости только внутри функции. Если мы попытаемся использовать их вне функции, то получим следующую ошибку.
The sum is: 50 print(a) NameError: name ‘a’ is not defined
Глобальные переменные в Python
Глобальные переменные могут использоваться во всей программе, и область их действия распространяется на всю программу. Мы можем использовать глобальные переменные внутри или вне функции.
101 Welcome To Javatpoint Welcome To Javatpoint
В приведенном выше коде мы объявляем глобальную переменную x и присваиваем ей значение. Затем мы определили функцию и обратились к объявленной переменной с помощью ключевого слова global внутри функции. Теперь мы можем изменить ее значение. Затем мы присвоили переменной x новое строковое значение.
Удаление переменной в Python
6 Traceback (most recent call last): File «C:/Users/DEVANSH SHARMA/PycharmProjects/Hello/multiprocessing.py», line 389, in print(x) NameError: name ‘x’ is not defined
Максимально возможное значение целого числа в Python
В отличие от других языков программирования, в Python нет типов данных long int или float. Он рассматривает все целочисленные значения как тип данных int. Здесь возникает вопрос. Какое максимальное значение может хранить переменная в Python? Рассмотрим следующий пример.
В Python нет специального типа данных для хранения больших чисел.