迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

从 Python 中的类中获取类名

作者:迹忆客 最近更新:2022/11/11 浏览次数:

使用类方法从类中获取类的名称。 类方法将类作为第一个参数传递,我们可以通过 cls.__name__ 访问类的名称。

class Employee():
    @classmethod
    def get_class_name(cls):

        return cls.__name__


print(Employee.get_class_name())  # 👉️ Employee

我们将 get_class_name 方法标记为类方法。 传递的第一个参数类方法是类。

__name__ 属性返回类的名称。

或者,我们可以使用 __qualname__ 属性。

class Employee():
    class_name = __qualname__

    @classmethod
    def get_class_name(cls):
        print(cls.class_name)

        return cls.__name__

    def example(self):
        print(type(self).class_name)


print(Employee.get_class_name())  # 👉️ Employee

emp1 = Employee()

emp1.example()  # 👉️ Employee

python __qualname__ 属性

__qualname__ 属性返回类的限定名称。

我们使用 type() 类来访问示例方法中的类。

type 类返回对象的类型。

最常见的返回值与访问对象的 __class__ 属性相同。

在 self 对象上使用 __class__ 属性将获得相同的结果。

def example(self):
    print(self.__class__.class_name)

我们还可以通过类方法中的 __name__ 属性访问类的名称。

class Employee():

    @classmethod
    def get_class_name(cls):
        return cls.__name__

    def example(self):
        print(self.__class__.__name__)


print(Employee.get_class_name())  # 👉️ Employee

emp1 = Employee()

emp1.example()  # 👉️ Employee

如果我们需要从类外部访问类的名称,也可以使用 __name__ 属性。

class Employee():
    def example(self):
        print(self.__class__.__name__)

print(Employee.__name__)  # 👉️ Employee

emp1 = Employee()

print(type(emp1).__name__)  # 👉️ Employee

Python 使用__name__从类外部访问类的名称

如果我们只能访问一个实例,请在访问 __name__ 属性之前使用 type() 类。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 中的 Pandas 插入方法

发布时间:2024/04/23 浏览次数:112 分类:Python

本教程介绍了如何在 Pandas DataFrame 中使用 insert 方法在 DataFrame 中插入一列。

Pandas 重命名多个列

发布时间:2024/04/22 浏览次数:199 分类:Python

本教程演示了如何使用 Pandas 重命名数据框中的多个列。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便