Как я могу получить тип объекта python, когда он заключен в строку? - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть python объект a="123.50", который является строкой type(a)=string Я хочу что-то, что говорит мне переменную a это float объект.

Я пробовал ast.literal_eval(value), но с тех пор он принимает любые другие вещи.

Есть что-нибудь похожее (ast.literal_eval)?

Ответы [ 2 ]

0 голосов
/ 17 февраля 2020

В python, обычно просто попробуйте

>>> def floater(val):
...     try:
...             float(val)
...             return True
...     except ValueError:
...             return False
... 
>>> floater("123.45")
True
>>> floater("sinker")
False

Или вы могли бы просто python взломать его и сообщить, что он находит

>>> def what_is_it(val):
...     try:
...             return type(ast.literal_eval(val)).__name__
...     except:
...             return None
... 
>>> 
>>> what_is_it("113.44")
'float'
>>> what_is_it("1")
'int'
0 голосов
/ 17 февраля 2020
...