Динамическая типизация в Python — как работает

В этом уроке вы узнаете о динамической типизации в Python и о том, как она работает.

Введение в динамическую типизацию в Python

В некоторых языках программирования, таких как Java или C#, при объявлении переменной вам необходимо указать для нее тип данных.

Например, в Java вы можете объявить переменную типа String и инициализировать ее значение следующим образом:

String message = "Hello";

Java создает новый объект String со значением «Hello», а также переменную message с типом String и ссылается на переменную message на объект String.

В статически типизированных языках типы данных связаны с переменными. Позже, если вы присвоите переменной message целое число, это не сработает. Причина в том, что переменная message уже связана с типом String, а не с целочисленным типом.

В отличие от статически типизированных языков, Python является динамически типизированным языком. При объявлении переменной в Python вы не указываете для нее тип:

message = 'Hello'

В Python переменная message — это просто ссылка на объект, который представляет собой строку. С переменной message не связан тип.

Переменная message в Python

Если вы присвоите число переменной message, это прекрасно:

message = 100

В этом случае Python создает новый целочисленный объект, и message ссылается на новый целочисленный объект:

Создание нового целочисленного объекта

Чтобы определить тип объекта, на который в данный момент ссылается переменная, вы используете функцию type().

В следующем примере определяется переменная с именем message и присваивается ей строка «Hello»:

message = 'Hello'
print(type(message))

Выход:

<class 'str'>

Когда вы присваиваете номер переменной message, тип объекта, на который ссылается переменная, также изменяется:

message = 100
print(type(message))

Выход:

<class 'int'>
Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *