在 Python 中获取类的名称

Vaibhhav Khetarpal 2023年1月30日 2021年4月29日
  1. 使用 type() 函数和 __name__ 获取对象/实例的类型或类
  2. 使用 __class____name__ 属性获取对象/实例的类型或类
在 Python 中获取类的名称

就像对象构造函数一样,类可以定义为用于创建对象的用户定义原型。可以使用关键字 class 创建类。

类是一个数据结构,它可以同时包含数据成员和成员方法。

本教程将讨论在 python 中获取类名的方法。

使用 type() 函数和 __name__ 获取对象/实例的类型或类

type() 是一个预定义的函数,可用于查找对象的类型或类。

__name__ 是一个特殊的内置变量,它基本上给出使用它的当前模块的名称。由于 python 没有像其他语言(如 C/C++、Java 和其他类似语言)一样具有 main() 函数,因此,如果是作为主程序执行的源文件,则解释器将设置 __main____name__。同时,当一个文件从任何其他模块导入时,__name__ 会被设置为该模块的名称。

type() 函数和 __name__ 变量用于在以下代码中获取对象的类型或类。

class num:
    def __init__(self, num):
        self.num = num
x = num(1)
print (type(x).__name__)

输出:

num

在 Python 3 中,所有创建的类都是新样式类,而在 Python 2 中,旧样式类可能与新样式类共存。新样式类是从对象实例继承的类,而旧样式类或经典类是 python 2.1 之前存在的基本类。

上面的方法只能与新型类一起使用。

使用 __class____name__ 属性获取对象/实例的类型或类

__class__ 属性还可用于查找对象的类或类型。它基本上是指在其中创建对象的类。

__name__ 也可以与 __class__ 一起使用以获取对象的类。

以下代码使用 __class____name__ 来获取对象的类。

class num:
    def __init__(self, num):
        self.num = num
x = num(1)
print (x.__class__)
print (x.__class__.__name__)

输出:

<class '__main__.num'>
num
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

相关文章 - Python Class