Урок 4. Переменные


Привет, друзья. Сегодня мы познакомимся с такой темой, как переменные. Иногда нужно запомнить какой-то результат и в дальнейшем, возможно, что-то с ним делать. Зачастую нужно будет запоминать какой-то результат ваших действий, запоминать какие-то данные, куда-то их сохранять, а не просто выводить на экран. За сохранение данных, за последующие к ним обращение отвечают переменные. Что такое переменная? Переменная хранит определенные данные, если говорить чуть сложнее, то на самом деле в переменной не хранятся данные, она просто указывает на эти данные, которые на самом деле хранятся в оперативной памяти компьютера, на котором исполняется данный код. Часто переменную сравнивают с какой-то коробочкой, ящиком, в который можно что-то положить. Представьте себе коробку и в неё можете положить яблоко и на коробке написать "яблоко". И тем самым тот, кто посмотрит на коробку, не заглядывая внутрь, в принципе поймёт что там находится что-то, связанное с яблоком или само яблоко. При этом название переменной наводит нас на мысль что это что-то, что можно в любой момент изменить и это действительно так. Допустим человек положил в коробку яблоко. Нам никто не мешает достать оттуда яблоко и положить туда грушу и у нас в коробке будет уже не яблоко, а груша, либо к яблоке положить ещё грушу. То есть мы можем изменять то значение на которое ссылается переменная. Просто ассоциируете у себя переменную с какой-то ёмкостью, в которой мы можем что-то хранить и всегда мы можем достать. Мы можем обращаться к значениям по имени этих самых переменных, которые хранятся в переменных. Данные хранятся в оперативной памяти, а переменная просто указывает на область в оперативной памяти, где хранятся эти данные и откуда можно всегда получить.

Код

print(b)
# Вывод: name 'b' is not defined

Если мы запустим вышеуказанный код, то компилятор выдаст нам ошибку, что переменная "b" не объявлена. Для того, чтобы обращаться к переменной нужно, как минимум, её определить. Напомню, что в функцию print можно передавать значения различных для вывода через запятую переменных.

Переменная в Python является регистрозависимым. Это значит, что если мы создадим переменную "x" со значением 1 и создадим переменную "X" в верхнем регистре со значением 2 и выведим их на экран, программа скомпилируется и выведит на экран значения двух разных переменных. Так делать не рекомендуется поскольку так легко запутаться и если вы назвали допустим переменную условно "name" где-нибудь, то создавать переменную "Name" не рекомендуется.

Как же создаются переменные в Python? Если вы работали с PHP, то там, чтобы объявить переменную, перед именем переменной нужно поставить знак доллара("$"). Если вы работали с Javascript, то за объявления переменных отвечают такие слова, как var и let. В Python всё проще. Для того, чтобы объвить переменную нужно просто указать её имя, а дальше присваивать какое-то значение.

Как должна называться переменная? Какие символы допускаюся в её имени? При именованиии переменной вы можете использовать буквы, цифры и символ подчёркивания("_"). При этом буквы желательно использовать латинские. При этом имя переменной может начинаться с буквы или знака подчёркивания. С цифр начинаться имя переменной не может.

В python есть 4 типа данных: целые числа(integer), дробные числа(float), строка(string), ,булен(boolean).

Типы данных

i = 1 #integer
f = 2.5 #float
s = "строка" #string
b = False #boolean

Что такое булев тип данных? Вам должно быть известно, если вы пришли из любого другого языка программирования. Булев тип данных - это достаточно простой тип данных, но основная польза заключается в том, что его можно использовать во всевозможных циклах, условиях и прочих конструкциях. Это такой тип данных, который принимает всего два возможных значения: истина(True) и ложь(False). Например, когда мы выполняем какое-то условие, то мы проверяем истина условия или ложно и в зависимости от того истинно оно или ложно мы соответственно выполняем какой-то набор действий. Например, если вы стоите у дороги и перед вами светофор, то срабатывают простейшие условия: если свет красный - мы стоим, если свет зелёный - мы идём.

Существует специальная функция, которая называется type. C помощью данной функции можно передавать параметру нужные переменные и получить их тип. Python является языком с динамичной типизацией. Что это значит? Есть языки с динамичной типизацией и строгой типизацией. Языки со строгой типизацией при создании переменных требуют объявление её типа. В отличии от них, языки с динамичной типизацией не требуют объвления типа данных, которую мы хотим положить в данную переменную. Они просто напросто исходят из значения, которое присвоено переменной. Если вы происволи переменной целое число, то соответсвенно переменная будет типа INTEGER. То есть, на этапе создания переменных Python уже, в зависимости от того, что мы кладём в эти переменные, определяет их тип.

Функция type()

i = 1 	 	#integer
f = 2.5 	#float
s = "строка" 	#string
b = False 	#boolean
print(type(i), type(f), type(s), type(b))

# Вывод: <class 'int'> <class 'float'> <class 'str'> <class 'bool'>

Я хотел бы вам продемонстрировать 4 четыре специальные функции: str(), int(), float(), bool(), которые приводят значение к указанному типу. Я думаю всё понятно из именований функций: функция str() приводит к строке, функция int() к целому числу, функция float() к десятичной записи, функция bool() к булеву типу. Как же они работают?

Функция type()

#with integer
i = 1 # integer
i = float(i) # стал десятичным
print(i, type(i))

# with string
s = "3234" # строка
s = int(s)  # получаем целое число
print(s, type(s))

# with float
f = 1.0 # десятичное число
f = bool(f) # получаем булеан
print(f, type(f))

# again with integer
i = 0 # целое число
i = bool(i) # получаем булеан
print(i, type(i))

#  with boolean
b = False # булеан
i = str(i) # получаем строку
print(i, type(i))

Вот такие ключевые моменты. Не забывайте их. Ну а в следующем уроке мы с вами продолжим нашу работу.


Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться