Присвоение значений и динамическая типизация

Python — язык со строгой динамической типизацией.

Переменные объявляются в момент присвоения значения, а тип переменной определяется по правой части выражения.

# Комментарий: 
a = 5 # int
b = 5.5 # float
c = "привет" # str
d = b"\x00\x7f\x2e" #bytes
e = True # bool
f = None # NoneType

При повторном присваивании типы не проверяются, а создается новая переменная с тем-же именем.

d = 42 # Успешно: d теперь имеет тип int и значение 42

При выполнении прочих операций типы проверяются

d = a + c # Ошибка: нельзя выполнить + для типов int и str

Можно смешивать переменные разных числовых типов в одном выражении

d = a + b # Успешно: d теперь имеет тип float и значение 27.5