8

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

IE:

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

在此处的每种情况下,我都想要单引号内的内容:str,int,类型为字符串。

我尝试使用正则表达式来对抗repr(type(1))并且有效,但这似乎并不健壮或 Pythonic。有没有更好的办法?

4

4 回答 4

9

您可以通过type(1).__name__

于 2012-11-20T16:46:12.597 回答
3

使用对象的__name__属性type

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

In [14]: type(1).__name__
Out[14]: 'int'
于 2012-11-20T16:46:11.943 回答
3

怎么样... .__class__.__name__

>>> 'abc'.__class__.__name__
'str'
>>> a = 123
>>> a.__class__.__name__
'int'
于 2012-11-20T16:47:38.593 回答
1

使用__name__属性:

>>> type('abc').__name__
'str'
于 2012-11-20T16:47:35.433 回答