Руководство по преобразованию типов данных в Python
В этом руководстве вы узнаете о преобразовании типов данных в Python и некоторых полезных функциях преобразования типов.
Что такое преобразование типов в Python?
Чтобы получить данные от пользователей, вы используете функцию input(). Например:
value = input('Enter a value:') print(value)
Когда вы выполните этот код, он предложит вам ввести данные в терминале:
Enter a value:
Если вы введете значение, например число, программа отобразит это значение обратно:
Enter a value:100 100
Однако функция input() возвращает строку, а не целое число.
В следующем примере вам будет предложено ввести два входных значения: чистая цена и ставка налога. После этого код рассчитывает налог и отображает результат на экране:
price = input('Enter the price($):') tax = input('Enter the tax rate(%):') tax_amount = price * tax / 100 print(f'The tax amount price is ${tax_amount}')
Когда вы запускаете программу и вводите некоторые цифры:
Enter the price($):100 Enter the tax rate(%):10
… вы получите следующую ошибку:
Traceback(most recent call last): File "main.py", line 4, in <module> tax_amount = price * tax / 100 TypeError: can't multiply sequence by non-int of type 'str'
Поскольку входные значения являются строками, вы не можете применить оператор умножения. Чтобы решить эту проблему, вам необходимо преобразовать строки в числа перед выполнением вычислений. Чтобы преобразовать строку в число, вы используете функцию int(). Точнее, функция int() преобразует строку в целое число.
В следующем примере функция int() используется для преобразования входных строк в числа:
price = input('Enter the price($):') tax = input('Enter the tax rate(%):') tax_amount = int(price) * int(tax) / 100 print(f'The tax amount is ${tax_amount}')
Если вы запустите программу и введете некоторые значения, вы увидите, что она работает правильно:
Enter the price($): 100 Enter the tax rate(%): 10 The tax amount is $10.0
Другие функции преобразования типов
Помимо функций int(str), Python поддерживает и другие функции преобразования типов. Ниже показаны наиболее важные из них на данный момент:
- float(str) – преобразует строку в число с плавающей запятой.
- bool(val) – преобразует значение в логическое значение: True или False.
- str(val) – возвращает строковое представление значения.
Получение типа значения
Чтобы получить тип значения, вы используете функцию type(value). Например:
>>> type(100) <class 'int'> >>> type(2.0) <class 'float'> >>> type('Hello') <class 'str'> >>> type(True) <class 'bool'>
Как вы можете ясно видеть из вывода:
- Число 100 имеет тип int.
- Число 2.0 имеет тип float.
- Строка «Hello» имеет тип str.
- А значение True имеет тип bool.
Перед каждым типом вы видите ключевое слово class. Более подробную информацию об этом вы узнаете позже.