如何获取具有类名称的字符串?

时间:2008-09-16 18:26:47

标签: python

我可以通过什么方法来获取课程名称?

5 个答案:

答案 0 :(得分:54)

In [1]: class test(object):
   ...:     pass
   ...: 

In [2]: test.__name__
Out[2]: 'test'

答案 1 :(得分:36)

这不是一种方法,而是一个领域。该字段称为__name__class.__name__会将类的名称作为字符串。 object.__class__.__name__将给出对象类的名称。

答案 2 :(得分:10)

我同意Mr.Shark,但如果您有一个班级的实例,则需要使用其__class__成员:

>>> class test():
...     pass
...
>>> a_test = test()
>>>
>>> a_test.__name__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: test instance has no attribute '__name__'
>>>
>>> a_test.__class__
<class __main__.test at 0x009EEDE0>

答案 3 :(得分:1)

在[8]中:str('2'.__class__)
出[8]:"<type 'str'>"

在[9]中:str(len.__class__)
出[9]:"<type 'builtin_function_or_method'>"

在[10]中:str(4.6.__class__)
出[10]:"<type 'float'>"

或者,如前所述,

在[11]中:4.6.__class__.__name__
出[11]:'float'

答案 4 :(得分:0)

Python 3.3开始,我们可以同时为类和函数使用__qualname__ field

__name__ field的嵌套对象(如在其他类中定义的类)不同的是

>>> class A:
        class B:
            pass
>>> A.B.__name__
'B'
>>> A.B.__qualname__
'A.B'

这可能非常有用。

进一步阅读