如何在Python中获取实例的类名?
面向对象的过程式编程,包括类和对象的概念,在Python中得到了很好的支持。它提供了清晰的程序结构和简单的代码修改。由于类的可共享性,代码可以被重用,并提供了抽象、封装和多态性的许多好处。
Python类是在Python中创建对象的“基本框架”。
阅读更多:Python 教程
获取Python实例的类名
有两种方法可以确定Python实例的类名 −
- 使用type()函数和
__name__
函数。 -
使用
__class__
和__name__
的组合。
一个独特的内置变量__name__
基本上提供了在其中使用它的当前模块的名称。
由于Python没有像C/C++、Java和其他相似的编程语言一样的main()方法,如果源文件作为主程序使用,解释器将__main__
的值设置为__name__
。
此外,如果从另一个模块中导入文件,__name__
将设置为导入模块的名称。
下面的代码使用type()函数和__name__
变量检索对象的类型或类。
示例
输出
在本文中,我们将学习使用上述方法在Python中获取实例的类名。
使用class.name
Python的__class__
属性,它简单地指的是我们要检索的对象的类,是获取类名的第一个、也是最简单的方法。在这里,我们将该属性与__name__
属性结合使用,以确定对象或实例的类名。独特的Python变量__name__
指定了使用它的当前模块的名称。
注 −您必须创建该类的对象,以便使用class.name显示其名称。
示例
以下是使用__class__.__name__
方法在Python中获取实例的类名的示例:
输出
以下是上述代码的输出:
使用type()和name属性
另一种方法是利用Python内置的type()方法来确定对象的类型或类。要获取类名,您必须将type()函数与name变量结合使用。
示例
以下是使用type()和__name__
属性在Python中获取实例的类名的示例:
输出
以上代码的输出如下 −
例子
如下例所示,让我们检查简单字符串的类名。
输出
字符串实例的类是“str”,正如以下输出所示 −
例子
使用itertools模块的“count”实例获取类名,如下例所示。
输出
以上代码的输出如下 −
例子
通过定义空列表,找到“列表”实例的类,如下面的示例所示 −
输出
以上代码的输出如下 −
例子
类名也可以作为字符串如下面的例子所示 −
输出
以上代码的输出如下 −
使用嵌套类(使用__qualname__
而不是__name__
)
在某些情况下,您可能希望在具有嵌套类的程序中获取类名。在这种情况下,您可以使用__qualname__
属性而不是__name__
属性检索限定对象的名称。
例子
在下面的代码中列出了两个类:“Animal”和“Lion”。此外,我们已经为这两个类创建了变量实例,如下所示。 Lion的对象在“Animal”类中被调用,并赋予名为“a”的变量。
然后,在类“Animal”中设置实例Animal和Lion的值,分别使用方法__name__
和方法__qualname__
在print函数中检索类名和限定对象名称。
输出
以下是上述代码的输出 –