Шаг 16.
Основы языка Python.
Переменные. Преобразование типов данных

    На этом шаге мы рассмотрим преобразование типов данных.

    В языке Python используется динамическая типизация. После присваивания значения в переменной сохраняется ссылка на объект определенного типа, а не сам объект. Если затем переменной присвоить значение другого типа, то переменная будет ссылаться на другой объект, и тип данных соответственно изменится. Таким образом, тип данных в языке Python - это характеристика объекта, а не переменной. Переменная всегда содержит только ссылку на объект.

    После присваивания переменной значения над последним можно производить операции, предназначенные лишь для этого типа данных. Например, строку нельзя сложить с числом, т. к. это приведет к выводу сообщения об ошибке.

    Для преобразования типов данных предназначены следующие функции:

    В качестве примера рассмотрим возможность сложения двух чисел, введенных пользователем. Как вы уже знаете, вводить данные позволяет функция input (). Воспользуемся этой функцией для получения чисел от пользователя (рисунок 1).

# -*- coding: utf-8 -*-
x = input("x = ") # Вводим первое значение
y = input("у = ") # Вводим второе значение
print(x + y)
input()


Рис.1. Получение данных от пользователя

Архив с файлом можно взять здесь.

    Результатом выполнения этого скрипта будет не число, а строка 512.


Рис.2. Результат выполнения скрипта

    Таким образом, следует запомнить, что функция input () возвращает результат в виде строки. Чтобы просуммировать два числа, необходимо преобразовать строку в число (рисунок 3).

# -*- coding: utf-8 -*-
x = int(input("x = ")) # Вводим первое значение
y = int(input("у = ")) # Вводим второе значение
print(x + y)
input()


Рис.3. Преобразование строки в число

Архив с файлом можно взять здесь.

    В этом случае мы получим число 17, как и должно быть (рисунок 4).


Рис.2. Результат выполнения скрипта

    Однако если пользователь вместо числа введет строку, то программа завершится с фатальной ошибкой. Обработку ошибок мы рассмотрим позднее.

    На следующем шаге мы рассмотрим удаление переменной.




Предыдущий шаг Содержание Следующий шаг