x = 7
x = "семь"
print(type(x))
<class 'str'>x присваивается целое число 7, а затем ей присваивается строка "семь". При вызове функции type(x) в этот момент, она возвращает тип данных текущего значения переменной x, то есть строку.
Вопрос: Что выведет следующий код?
x = 7
x = "семь"
print(type(x))
  Ответ:
Код выведет <class 'str'>.
Объяснение:
В Python типы переменных определяются динамически. Это означает, что тип переменной определяется в момент присваивания ей значения. В данном случае, сначала переменной x присваивается целочисленное значение 7, но затем ей присваивается строковое значение "семь".  Python перезаписывает значение переменной x и изменяет ее тип на str (строка).
Функция type(x) возвращает тип объекта, хранящегося в переменной x.  Поскольку в момент вызова print(type(x)) переменная x содержит строку "семь", то функция type(x) возвращает <class 'str'>, который и выводится на экран.