2. Переменные в Python
Для простых вычислений, таких как \(5+9*7\) или \(6**~9\), можно использовать командный режим Python, но для написания программ необходим ещё один важный компонент программы — переменная. Что такое переменная?
Переменная — это величина, которая имеет имя, тип и значение.
К переменной обращаются по её имени, как и к любому объекту. Имя переменной в Python имеет ограничения: начинаться имя должно только с латинской буквы или с нижнего подчёркивания «_», служебные слова языка программирования не могут быть именами.
- хорошие имена: \(a\), \(B\), \(K3\), _ \(LETO\) .
- плохие имена: \(and\) (знак логической операции), \(1TTT\) (начинается с цифры), \(print\) (служебное слово).
Переменная — это контейнер для хранения различных значений (данных).
Чтобы переменная получила какое-то значение, его нужно присвоить.
В Python команда «присвоить» — это знак «\(=\)».
Python: Что такое переменная
Представьте, что нам нужно напечатать на экран фразу Father! два раза. Эту задачу можно решить так:
print('Father!') print('Father!')
В простейшем случае так и стоит поступить. Но если фраза Father! будет использоваться чаще двух раз, да еще и в разных частях программы, то придется ее везде повторять — это неудобно. Проблемы с таким подходом начнутся, когда понадобится изменить фразу, а такое происходит довольно часто. Нам придется найти все места с этой фразой и выполнить необходимую замену.
А можно поступить по-другому. Чтобы не копировать выражение, достаточно создать с ней переменную:
# greeting - переводится как приветствие greeting = 'Father!' print(greeting) print(greeting) # => Father! # => Father!
В строчке greeting = ‘Father!’ мы берем переменную с именем greeting и присваиваем ей значение ‘Father!’ . Переменная указывает на данные, которые в нее записали. Благодаря этому, данные можно использовать многократно и не дублировать их постоянно.
Когда переменная создана, можно ее использовать. Она подставляется в те места, где раньше стояла наша фраза. Когда код выполняется, интерпретатор доходит до строчки print(greeting) и подставляет содержимое переменной, а затем выполняет код.
Для имени переменной используется любой набор допустимых символов, к которым относятся буквы английского алфавита, цифры и знак _ . При этом цифру нельзя ставить в начале. Имена переменных регистрозависимы, то есть имя hello и имя HELLO — это два разных имени для двух разных переменных. Регистр в Python имеет важное значение, никогда не забывайте про него.
Количество создаваемых переменных неограниченно. Большие программы содержат десятки и сотни тысяч имен переменных. Вот как выглядят две переменные внутри одной программы:
greeting1 = 'Father!' print(greeting1) print(greeting1) greeting2 = 'Mother!' print(greeting2) print(greeting2)
Чтобы программу было удобно читать, среди программистов принято создавать переменные как можно ближе к тому месту, где они используются. Теперь нужно разобраться, как их изменять.
Задание
Создайте переменную с именем motto и содержимым What Is Dead May Never Die! . Распечатайте содержимое переменной.
Упражнение не проходит проверку — что делать?
Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:
- Обязательно приложите вывод тестов, без него практически невозможно понять что не так, даже если вы покажете свой код. Программисты плохо исполняют код в голове, но по полученной ошибке почти всегда понятно, куда смотреть.
В моей среде код работает, а здесь нет
Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.
Мой код отличается от решения учителя
Это нормально , в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.
В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.
Прочитал урок — ничего не понятно
Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.
Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.
Полезное
Определения
- Переменная — способ сохранить информацию и дать ей имя для последующего использования в коде.
Что такое переменная в программировании python
Переменные предназначены для хранения данных. Название переменной в Python должно начинаться с алфавитного символа или со знака подчеркивания и может содержать алфавитно-цифровые символы и знак подчеркивания. И кроме того, название переменной не должно совпадать с названием ключевых слов языка Python. Ключевых слов не так много, их легко запомнить:
False await else import pass None break except in raise True class finally is return and continue for lambda try as def from nonlocal while assert del global not with async elif if or yield
Например, создадим переменную:
name = "Tom"
Здесь определена переменная name , которая хранит строку «Tom».
В пайтоне применяется два типа наименования переменных: camel case и underscore notation .
Camel case подразумевает, что каждое новое подслово в наименовании переменной начинается с большой буквы. Например:
userName = "Tom"
Underscore notation подразумевает, что подслова в наименовании переменной разделяются знаком подчеркивания. Например:
user_name = "Tom"
И также надо учитывать регистрозависимость, поэтому переменные name и Name будут представлять разные объекты.
# две разные переменные name = "Tom" Name = "Tom"
Определив переменную, мы можем использовать в программе. Например, попытаться вывести ее содержимое на консоль с помощью встроенной функции print :
name = "Tom" # определение переменной name print(name) # вывод значения переменной name на консоль
Например, определение и применение переменной в среде PyCharm:
Отличительной особенностью переменной является то, что мы можем менять ее значение в течение работы программы:
name = "Tom" # переменной name равна "Tom" print(name) # выводит: Tom name = "Bob" # меняем значение на "Bob" print(name) # выводит: Bob
Типы данных
Переменная хранит данные одного из типов данных. В Python существует множество различных типов данных. В данном случае рассмотрим только самые базовые типы: bool , int , float , complex и str .
Логические значения
Тип bool представляет два логических значения: True (верно, истина) или False (неверно, ложь). Значение True служит для того, чтобы показать, что что-то истинно. Тогда как значение False , наоборот, показывает, что что-то ложно. Пример переменных данного типа:
isMarried = False print(isMarried) # False isAlive = True print(isAlive) # True
Целые числа
Тип int представляет целое число, например, 1, 4, 8, 50. Пример
age = 21 print("Возраст:", age) # Возраст: 21 count = 15 print("Количество:", count) # Количество: 15
По умолчанию стандартные числа расцениваются как числа в десятичной системе. Но Python также поддерживает числа в двоичной, восьмеричной и шестнадцатеричной системах.
Для указания, что число представляет двоичную систему, перед числом ставится префикс 0b :
a = 0b11 b = 0b1011 c = 0b100001 print(a) # 3 в десятичной системе print(b) # 11 в десятичной системе print(c) # 33 в десятичной системе
Для указания, что число представляет восьмеричную систему, перед числом ставится префикс 0o :
a = 0o7 b = 0o11 c = 0o17 print(a) # 7 в десятичной системе print(b) # 9 в десятичной системе print(c) # 15 в десятичной системе
Для указания, что число представляет шестнадцатеричную систему, перед числом ставится префикс 0x :
a = 0x0A b = 0xFF c = 0xA1 print(a) # 10 в десятичной системе print(b) # 255 в десятичной системе print(c) # 161 в десятичной системе
Стоит отметить, что в какой-бы системе мы не передали число в функцию print для вывода на консоль, оно по умолчанию будет выводиться в десятичной системе.
Дробные числа
Тип float представляет число с плавающей точкой, например, 1.2 или 34.76. В качесте разделителя целой и дробной частей используется точка.
height = 1.68 pi = 3.14 weight = 68. print(height) # 1.68 print(pi) # 3.14 print(weight) # 68.0
Число с плавающей точкой можно определять в экспоненциальной записи:
x = 3.9e3 print(x) # 3900.0 x = 3.9e-3 print(x) # 0.0039
Число float может иметь только 18 значимых символов. Так, в данном случае используются только два символа — 3.9. И если число слишком велико или слишком мало, то мы можем записывать число в подобной нотации, используя экспоненту. Число после экспоненты указывает степень числа 10, на которое надо умножить основное число — 3.9.
Комплексные числа
Тип complex представляет комплексные числа в формате вещественная_часть+мнимая_часть j — после мнимой части указывается суффикс j
complexNumber = 1+2j print(complexNumber) # (1+2j)
Строки
Тип str представляет строки. Строка представляет последовательность символов, заключенную в одинарные или двойные кавычки, например «hello» и ‘hello’. В Python 3.x строки представляют набор символов в кодировке Unicode
message = "Hello World!" print(message) # Hello World! name = 'Tom' print(name) # Tom
При этом, если строка имеет много символов, ее можно разбить на части и эти части разместить на разных строках кода. В этом случае вся строка заключается в круглые скобки, а ее отдельные части — в кавычки:
text = ("Laudate omnes gentes laudate " "Magnificat in secula ") print(text)
Если же мы хотим определить многострочный текст, то такой текст заключается в тройные двойные или одинарные кавычки:
''' Это комментарий ''' text = '''Laudate omnes gentes laudate Magnificat in secula Et anima mea laudate Magnificat in secula ''' print(text)
При использовани тройных одинарных кавычек не стоит путать их с комментариями: если текст в тройных одинарных кавычках присваивается переменной, то это строка, а не комментарий.
Управляющие последовательности в строке
Строка может содержать ряд специальных символов — управляющих последовательностей. Некоторые из них:
- \\ : позволяет добавить внутрь строки слеш
- \’ : позволяет добавить внутрь строки одинарную кавычку
- \» : позволяет добавить внутрь строки двойную кавычку
- \n : осуществляет переход на новую строку
- \t : добавляет табуляцию (4 отступа)
Применим несколько последовательностей:
text = "Message:\n\"Hello World\"" print(text)
Консольный вывод программы:
Message: "Hello World"
Хотя подобные последовательности могут нам помочь в некоторых делах, например, поместить в строку кавычку, сделать табуляцию, перенос на другую строку. Но они также могут и мешать. Например:
path = "C:\python\name.txt" print(path)
Здесь переменная path содержит некоторый путь к файлу. Однако внутри строки встречаются символы «\n», которые будут интерпретированы как управляющая последовательность. Так, мы получим следующий консольный вывод:
C:\python ame.txt
Чтобы избежать подобной ситуации, перед строкой ставится символ r
path = r"C:\python\name.txt" print(path)
Вставка значений в строку
Python позволяет встравивать в строку значения других переменных. Для этого внутри строки переменные размещаются в фигурных скобках <>, а перед всей строкой ставится символ f :
userName = "Tom" userAge = 37 user = f"name: age: " print(user) # name: Tom age: 37
В данном случае на место будет вставляться значение переменной userName. Аналогично на вместо будет вставляться значение переменной userAge.
Динамическая типизация
Python является языком с динамической типизацией. А это значит, что переменная не привязана жестко к определенному типу.
Тип переменной определяется исходя из значения, которое ей присвоено. Так, при присвоении строки в двойных или одинарных кавычках переменная имеет тип str . При присвоении целого числа Python автоматически определяет тип переменной как int . Чтобы определить переменную как объект float, ей присваивается дробное число, в котором разделителем целой и дробной части является точка.
При этом в процессе работы программы мы можем изменить тип переменной, присвоив ей значение другого типа:
userId = "abc" # тип str print(userId) userId = 234 # тип int print(userId)
С помощью встроенной функции type() динамически можно узнать текущий тип переменной:
userId = «abc» # тип str print(type(userId)) # userId = 234 # тип int print(type(userId)) #
Python для подготовки к олимпиадам, начальный уровень (7-9 классы) (СОШ г. Набережные Челны)
Теоретический материал по теме «Введение в язык программирования Python»
Переменные в Python¶
Д.П. Кириенко — Программирование на языке Python (школа 179 г. Москвы)
Переменная — это простейшая именованная структура данных, в которой может быть сохранён промежуточный или конечный результат работы программы.
Переменную в Python создать очень просто — нужно присвоить некоторому идентификатору значение при помощи оператора присваивания «=».
ПРИМЕР
а = 10
b = 3.1415926
c = «Hello»
d = [1, 2, 3]
В этом примере используются четыре переменные:
- переменная а хранит значение типа int (целое число),
- переменная b — типа float (действительное число),
- переменная c — типа str (строка),
- переменная d — типа list (список, в данном случае из трех целых чисел).
Никакого специального объявления переменных не требуется, первое присваивание переменной значения и является ее объявлением. Идентификатор в Python является «ссылкой» на хранимые в памяти данные.
Python — язык с динамической типизацией: каждая переменная в каждый момент времени имеет определенный тип, но этот тип может меняться по ходу выполнения программы, достаточно просто присвоить ей новое значение другого типа.
На самом деле переменная в python является лишь ссылкой на объект в памяти. При создании любой переменной (число, строка или массив) в неё записывается ссылка на объект, а сам объект находится где-то в оперативной памяти далеко от самой переменной со ссылкой. Таким образом, несколько переменных могут указывать на один объект, и при изменении объекта (например, списка) изменится результат обращения к нему с использованием каждой переменной.
Происходящее при выполнении следующего кода схематично можно изобразить так: arr = [1, 2, 3]