Как я могу преобразовать строковый ввод пользователя, такой как int или float, в типы str и float? - PullRequest
1 голос
/ 15 апреля 2020

Я хотел бы знать, есть ли быстрый способ принимать типы данных непосредственно от пользователя, чтобы я мог использовать его непосредственно для приведения типа к другим переменным? Я не ищу условия или циклы, чтобы проверить все возможные варианты. Заранее спасибо за помощь.
ex:

data_type = input('Enter a data type: str , bool, int or float: ')

пользователь вводит: str
Я использую переменную типа данных, чтобы изменить целое число на строковый тип: datatype(234)

1 Ответ

1 голос
/ 15 апреля 2020

Использование eval не рекомендуется, но это решает ваш вопрос:

data_type = eval(input('Enter a data type: str , bool, int or float: '))

Но у нас также есть более безопасный метод, чем eval. То есть использует библиотеку ast:

import ast
data_type = ast.literal_eval(input('Enter a data type: str , bool, int or float: '))
...