Простейшие типы данных в Python
Вступление
Изучение нового языка - интересный процесс и нет какого-то алгоритма, как правильно организовать обучение. Однако есть хороший совет: сначала изучите типы данных: это основное, с чем вам придётся работать.
Давайте сразу определим, что такое тип данных:
Тип данных — множество значений и операций на этих значениях.
В питоне типизация динамическая. Это означает, что тип переменной определяется только её значением и может меняться. Например в C++ мы бы написали:
int a = 1;
Здесь мы сказали компилятору: "Тип этой переменной - целое число и никакой другой." Соответственно, мы не сможем присвоить переменной что-либо кроме целого числа. В Python же всё иначе:
a = 1
Мы не говорим, какого типа эта переменная. Мы просто присвоили ей значение 1 и стало понятно, что она целочисленная. После этого мы можем спокойно поменять её значение на какое угодно:
a = 1 a = "abc"
Это абсолютно корректный код, потому что нет никаких ограничений на тип переменной. Но очень важно понимать, что это не отменяет само существование типов. Например следующий код приведёт к ошибке:
a = "abc" + 1
Это нам говорит ещё одну вещь о типах в Python: это строго типизированный язык. Это значит, что он не проводит неявных преобразований совершенно разных типов. Да, мы можем сложить целое и дробное число, но число и строку нет.
Давайте же разберёмся, какие основные типы данных есть в Python.
Числа
Числа бывают целыми, дробными и комплексными. У каждого из них есть свой тип данных. О комплексных сейчас говорить не будем: они применяются редко, но заслуживают упоминания.
int - тип целых чисел. С ними можно делать всё то, что можно в математике.
a = 1 b = 2 a + b # Выведет 3 a - b # -1 a * b # 2 a/b # 0.5 a//b # 0 a**b # 1
Тут надо обговорить 2 момента. Первый: деление. Их тут 2. Есть операция / - честное деление. То есть результат - дробное число. Есть операция целочисленного деления - // - то же самое, но результат округляется вниз до целого. Оператор a**b - возведение в степень.
float - дробный тип данных. С ними можно делать всё то же самое.
Строки
string - тип, который соответствует строкам. Например "abc" - строка, "a" - тоже строка. Да, в питоне нет типа для отдельного символа, как во многих языках.
s = "abc" p = "bca" print(s + p) # Мы "сложили" строки: abcbca print(s * 2) # abcabc
Самое главное, что надо запомнить о строках в питоне: они неизменяемые. То есть нельзя "поменять" что-либо в строке, не создав новую. Следующий код приведёт к ошибке:
s = 'abc' s[0] = "b"
Кстати, заметили, что я использовал одинарные кавычки вместо двойных? В питоне они равнозначны и сделаны для удобства. А ещё есть "тройные", которые позволяют писать в несколько строк.
a = """ Больше строк Богу строк """
Их можно составлять как из трёх двойных ("""), так и из трёх одинарных (''')
Логические значения
bool - самый простой тип данных. Он принимает всего 2 значения - True и False. Истина и ложь. Над ними есть логические операции: and(и), or(или), not(отрицание)
print(True and False) # False print(True or False) # True print(not False) # True
Побольше о логических операциях можно почитать например здесь
Заключение
Конечно же все эти типы данных можно объединять в коллекции, но это уже тема для другой статьи.
Текст написан для группы SnakeBlog