如何将type
的变量部分作为字符串?
即:
>>> type('abc')
<type 'str'>
>>> type(1)
<type 'int'>
>>> type(_)
<type 'type'>
在这里的每种情况下,我想要单引号内的内容:str,int,type as a string。
我尝试使用针对repr(type(1))
的正则表达式,但这有效,但这似乎不健全或Pythonic。还有更好的方法吗?
答案 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'