Найти в Дзене
PyHub. Обучение Python.

Введение в преобразование типов Python

Для получения ввода от пользователей используется функция input(). Например: value = input('Введите значение:')
print(value) При выполнении этого кода программа запросит ввод на Терминале: Введите значение: Если вы вводите значение, например, число, программа отобразит его обратно: Введите значение: 100
100 Однако функция input() возвращает строку, а не целое число. В следующем примере вас просят ввести два значения: чистую цену и налоговую ставку. Затем программа вычисляет налог и отображает результат на экране: price = input('Введите цену ($):')
tax = input('Введите ставку налога (%):')
tax_amount = price * tax / 100
print(f'Сумма налога составляет ${tax_amount}') При выполнении программы и вводе чисел вы получите следующую ошибку: 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' Поскольку входные значения являются строками, нельзя применить оператор умножения. Для
Оглавление

Для получения ввода от пользователей используется функция input(). Например:

value = input('Введите значение:')
print(value)

При выполнении этого кода программа запросит ввод на Терминале:

Введите значение:

Если вы вводите значение, например, число, программа отобразит его обратно:

Введите значение: 100
100

Однако функция input() возвращает строку, а не целое число.

В следующем примере вас просят ввести два значения: чистую цену и налоговую ставку. Затем программа вычисляет налог и отображает результат на экране:

price = input('Введите цену ($):')
tax = input('Введите ставку налога (%):')

tax_amount = price * tax / 100
print(f'Сумма налога составляет ${tax_amount}')

При выполнении программы и вводе чисел вы получите следующую ошибку:

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('Введите цену ($):')
tax = input('Введите ставку налога (%):')

tax_amount = int(price) * int(tax) / 100 print(f'Сумма налога составляет ${tax_amount}')

Если вы запустите программу и введете некоторые значения, вы увидите, что она работает правильно:

Введите цену ($): 100
Введите ставку налога (%): 10
Сумма налога составляет $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('Привет')
<class 'str'>
>>> type(True)
<class 'bool'>

Как видно из вывода:

  • Число 100 имеет тип int.
  • Число 2.0 имеет тип float.
  • Строка 'Привет' имеет тип str.
  • И значение True имеет тип bool.

Перед каждым типом вы видите ключевое слово class. Однако это не важно на данный момент, и вы узнаете о классах больше позже.

Конструкция int(input()):

Для удобства часто преобразование строки в число производится прямо при вызове функции input(). Это позволяет избежать дополнительных строк кода и делает код более компактным. Пример:

price = int(input('Введите цену ($):'))
tax = int(input('Введите ставку налога (%):'))

tax_amount = price * tax / 100 print(f'Сумма налога составляет ${tax_amount}')

Таким образом, функция int(input()) сразу принимает ввод пользователя в виде строки, преобразуя его в целое число. Этот подход удобен и часто используется при получении числового ввода от пользователя в Python.

Краткие сведения:

  • Используйте функцию input() для получения строки ввода от пользователей.
  • Используйте функции преобразования типов, такие как int(), float(), bool() и str(value), чтобы преобразовать значение из одного типа в другой.
  • Используйте функцию type() для получения типа значения.
  • Для удобства можно использовать конструкцию int(input()), что сократит количество строк кода и повысит компактность кода

#IT #Python #Саморазвитие #Обучение