我可以用什么方法来获取类的名称?

===============>>#1 票数:56 已采纳

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

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

===============>>#2 票数:37

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

===============>>#3 票数: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>

===============>>#4 票数:1

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

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

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

或者,正如之前所指出的,

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

===============>>#5 票数:0

Python 3.3开始,我们可以对类和函数使用__qualname__字段

它与__name__字段的不同之处在于嵌套对象,例如在其他类中定义的类

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

这可能非常有用。

进一步阅读

  ask by clahey translate from so

未解决问题?本站智能推荐:

3回复

是否可以从具有相同名称的查询字符串中获取值?

我想知道是否可以从此查询字符串中获取值? 为什么我必须使用这样的查询字符串? 我有一个带有10个复选框的表单。 我的用户应该向我发送他/她感兴趣的新闻机构的ID。所以查询字符串包含多个具有相同名称的值。 新闻机构的总数是可变的,它们是从数据库加载的。 我正在使用Python
3回复

不同模块中具有相同名称的类共享完全相同的名称字符串?

有点令人惊讶的行为。 在不同模块中具有相同名称的两个类共享相同的名称。 (不是相等,而是期望的,而是字符串对象标识!) 我并不支持它真的很重要,但是没有人知道为什么吗,还有没有进一步的惊喜的可能呢? 演示(带有a/a.py和b/b.py并且在a/和b/中a/空__init__.p
1回复

根据类的字符串名称创建类的实例

有没有一种方法可以使用字符串(以我为例,从文件中读取)查找名称与字符串匹配的类,然后创建该类的实例。 例如: 但是,当然,在这里不能使用values[0] ,因为它是字符串,而不是类。 有没有一种方法可以自动将字符串转换为那里的类? 特别是如果我有很多类并且无法事先知道要实例化哪个
1回复

Tweepy:是否可以获取屏幕名称或描述中具有特定字符串的成员列表?

我在tweepy看到的每种方法都需要特定的用户名或用户ID。 是否可以在Twitter上搜索用户名或描述中的字符串? 例如:查找在用户名或描述中具有字符串“ pet lover”的所有成员。
3回复

如果存在某些类(按字符串名称),如何检查python?

是否可以检查是否存在某个类? 我在json配置文件中有类名。 我知道我可以简单地尝试通过类名字符串创建一个对象但这实际上是一个坏主意,因为类构造函数可以做一些意想不到的事情,而在这个时候我只想检查我的配置是否有效并且所有提到课程可用。 有什么办法吗? 编辑:我也明白,你可以从一些
4回复

如何给一个类一个可引用的字符串名称?

Scenerio是我正在使用arg解析器来获取命令行参数auth_application。 auth_application命令可以具有许多值,例如: 这些值与可编程类有关。 我想要一种命名类的方法,可以使用装饰器。 所以我可以说 当前,我维护一个auth_ap
1回复

将输入解释为字符串和类成员名称

在几个不同类的__init__ ,我不得不使用多次构造 或由Moses Koledoye建议 我想有一个方法,例如输入字符串'member_name'和default_value并产生相应的初始化。 例如,如果输入'pi_approx'和3.14则结果代码为 这样,我可
2回复

将类的实例名称保存在字符串变量中

我有一个奇怪的问题,我坚持了好几天。 我正在使用python for maya开发一个小程序。 (现在,我希望您知道我不是一个专业的程序员。只是用来构建一些内部脚本和工具的辅助编码器) 我正在构建的工具具有许多我作为类创建的UI元素,它们具有自己的方法。 我需要做的是使用字符串传
2回复

从字符串名称在Python中加载类

我有一系列的类名,想要全部检查它们并将它们导入。 这个怎么做: 这就是我得到的: 确切地说:我有几个类是在FEA软件中的IDE中运行的,我为每个类都做了类似的事情: 但我想将所有类名放在一个列表中,并将其作为循环而不是对所有类都这样做。
3回复

如何将具体类名称作为字符串? [重复]

这个问题在这里已有答案: 获取实例的类名? 8个答案 我想避免调用很多isinstance()函数,所以我正在寻找一种方法来获取实例变量的具体类名作为字符串。 有任何想法吗?