如何将变量部分type
作为字符串获取?
IE:
>>> type('abc')
<type 'str'>
>>> type(1)
<type 'int'>
>>> type(_)
<type 'type'>
在此处的每种情况下,我都想要单引号内的内容:str,int,类型为字符串。
我尝试使用正则表达式来对抗repr(type(1))
并且有效,但这似乎并不健壮或 Pythonic。有没有更好的办法?
如何将变量部分type
作为字符串获取?
IE:
>>> type('abc')
<type 'str'>
>>> type(1)
<type 'int'>
>>> type(_)
<type 'type'>
在此处的每种情况下,我都想要单引号内的内容:str,int,类型为字符串。
我尝试使用正则表达式来对抗repr(type(1))
并且有效,但这似乎并不健壮或 Pythonic。有没有更好的办法?
您可以通过type(1).__name__
使用对象的__name__
属性type
:
In [13]: type('abc').__name__
Out[13]: 'str'
In [14]: type(1).__name__
Out[14]: 'int'
怎么样... .__class__.__name__
?
>>> 'abc'.__class__.__name__
'str'
>>> a = 123
>>> a.__class__.__name__
'int'
使用__name__
属性:
>>> type('abc').__name__
'str'