Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当python对象包含在字符串中时,如何获取它的类型?_Python_Casting_Type Conversion - Fatal编程技术网

当python对象包含在字符串中时,如何获取它的类型?

当python对象包含在字符串中时,如何获取它的类型?,python,casting,type-conversion,Python,Casting,Type Conversion,我有一个python对象a=“123.50”,它是stringtype(a)=string 我想知道变量a是float对象 我试过ast.literal\u eval(value),但因为它接受所有其他东西 有什么类似于它的吗?(ast.literal\u eval)?您可以参考。在python中,通常只是尝试一下 >>> def floater(val): ... try: ... float(val) ... retu

我有一个python对象
a=“123.50”
,它是string
type(a)=string
我想知道变量
a
float
对象

我试过
ast.literal\u eval(value)
,但因为它接受所有其他东西


有什么类似于它的吗?(ast.literal\u eval)?

您可以参考。

在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'

尝试解析浮点并捕获错误?。这是您的数据,您应该知道您想要得到什么。这取决于上下文。您希望
“1E1”
成为什么?一根绳子?花车?整数?您可以在这里求值,下面的答案中提供了一个示例。您希望在这里做什么,而safe
ast.literal\u eval
没有涵盖?是的,您是正确的,我们也可以使用ast模块。如果我们传递表达式,eval是危险的。您已将答案编辑成无法回答问题的内容-“是否有类似的内容(ast.literal\u eval)?”