Да, в Python можно присвоить переменной один тип данных, а затем изменить его на другой. Это возможно, потому что Python является языком с динамической типизацией.
В отличие от языков со статической типизацией (например, Java или C++), в Python тип переменной определяется во время выполнения (runtime), а не во время компиляции. Переменная - это просто имя, которое ссылается на объект в памяти. Мы можем переназначить этой переменной ссылку на другой объект другого типа.
Пример:
x = 10 # x - целое число (int)
print(type(x)) # Вывод: <class 'int'>
x = "Hello" # x теперь строка (str)
print(type(x)) # Вывод: <class 'str'>
x = [1, 2, 3] # x теперь список (list)
print(type(x)) # Вывод: <class 'list'>
Важно отметить: Хотя это и возможно, частое изменение типа переменной в коде может сделать его менее читаемым и сложным для отладки. Рекомендуется стараться придерживаться одного типа данных для переменной, если это возможно, для повышения ясности и поддерживаемости кода. В сложных случаях может быть полезно явно указать, что мы намереваемся изменить тип данных переменной (например, используя другое имя переменной для нового типа).