获取'type'作为人类可读字符串的返回

时间:2012-11-20 16:44:43

标签: python

如何将type的变量部分作为字符串?

即:

>>> type('abc')
<type 'str'>
>>> type(1)
<type 'int'>
>>> type(_)
<type 'type'>

在这里的每种情况下,我想要单引号内的内容:str,int,type as a string。

我尝试使用针对repr(type(1))的正则表达式,但这有效,但这似乎不健全或Pythonic。还有更好的方法吗?

4 个答案:

答案 0 :(得分:6)

您可以按type(1).__name__

获取名称

答案 1 :(得分:3)

使用__name__对象的type属性:

In [13]: type('abc').__name__
Out[13]: 'str'

In [14]: type(1).__name__
Out[14]: 'int'

答案 2 :(得分:3)

... .__class__.__name__怎么样?

>>> 'abc'.__class__.__name__
'str'
>>> a = 123
>>> a.__class__.__name__
'int'

答案 3 :(得分:1)

使用__name__属性:

>>> type('abc').__name__
'str'