Python-从函数类型的输出中提取对象类型

时间:2017-11-21 06:02:58

标签: python

我有一个函数(称为data_type),它以<class 'int'>的形式返回对象的类型。我需要此函数的输出来检查对象是int还是float还是str。问题是我无法在data_type ininstance中使用输出,因为我需要将原始对象传递给它而不是它的类型。我所说的是我不能使用以下内容 -

isinstance(data_type(some_variable), float)

因为它转换为

isinstance(<class 'float'>, float)

即使对象属于float类型,它也会返回False,因为class 'float'>的类型本身就是type

我知道有些人会建议我改变我接近这个的方式,但我同意这不是解决问题的方法,但是我无法改变data_type函数的输出类型。

我查看了types模块,其中包含types.StringType之类的内容但不幸的是,这只适用于python2。 python3无法使用该功能(这是我目前使用的,无法更改)。

所以问题是如何使用type函数的返回来检查对象是否为str / float / int。

我需要选择类str的对象,以及我正在使用的黑客

if str(self.dtypes[each_col]) == "<class 'str'>": ...

但我这样做并不舒服。还有其他方法可以做到这一点吗?

0 个答案:

没有答案