b = 5
Объявили переменную b и присвоили ей значение 5.
При этом:
1)Создается целочисленный объект “5” (как бы создается ячейка и 5 кладется в эту ячейку).
2)Посредством оператора “=” создается ссылка между переменной b и целочисленным объектом 5 (b ссылается на объект 5)
Этот объект имеет три атрибута: идентификатор, значение и тип
В примере выше, целочисленный объект 5 имеет некий идентификатор; значение: 5 и тип:целое число.
Идентификатор это целое число, обычно, является адресом объекта в памяти, хотя и может отличаться в зависимости от версии и платформы- чисто чтобы блеснуть знаниями 😉
Имя переменной не должно совпадать с ключевыми словами интерпретатора Python. Полный список тут
Для того, чтобы посмотреть на объект с каким идентификатором ссылается данная переменная, можно использовать функцию id()
>>> a=7
>>> b=8
>>> id(a)
140725482126592 <<< Уникальный идентификатор для переменной a
>>> id(b)
140725482126624 <<< Уникальный идентификатор для переменной b
>>> a=b
>>> id(a)
140725482126624 <<< Теперь a имеет такой же идентификатор как и b
>>>
Выше показан вариант примера, который взял из интернета. Суть: после того как выполнил
a=b
идентификатор у a стал таким же как и у b. т.к. a стал ссылаться на тот же объект
Тип переменной можно посмотреть с помощью функции type()
>>> a=7
>>> c="hello"
>>> d=3.1
>>> type(a)
<class 'int'> <<< тип "целых чисел"
>>> type(c)
<class 'str'> <<< тип "строка"
>>> type(d)
<class 'float'> <<< тип "с плавающей точкой"
Типы данных
Типы данных в Python можно разделить на встроенные в интерпретатор (built-in) и не встроенные, которые можно использовать при импортировании соответствующих модулей, как например keyword
К основным встроенным типам относят:
- None (Неопределенное значение переменной)
- NoneType
- Логические переменные (Boolean Type )
- bool – булевый тип данных (true / false)
- Числа (Numeric Type)
- int – целое число (Integers)
- float – число с плавающей точной (Floating-Point Numbers)
- сomplex – комплексное число
- Списки (Sequence Type)
- list – список
- tuple – кортеж
- range – диапазон
- Строки (Text Sequence Type)
- str – текстовый формат данных – (String)
- Бинарные списки (Binary Sequence Types)
- bytes – байты
- bytearray – массивы байт
- memoryview – специальный объект для доступа к внутренним данным объекта через protocol buffer
- Множества (Set Types)
- set – множество
- frozenset – неизменяемое множество
- Словари (Mapping Types)
- dicr – словарь
В python существуют так называемые изменяемые (mutable) и неизменяемые (immutable) типы данных
- К изменяемым относятся: списки (list), множества (set), словари (dict);
- К неизменяемым относятся: целые числа (int), числа с плавающей точкой (float), комплексные числа (complex), логические переменные (bool), кортежи (tuple), строки (str) и неизменяемые множества (frozen set).
Наглядный пример отличия между типами данных представлен ниже.

