类对象内置属性


Python 中的类对象具有一些内置属性,这些属性通常用于获取有关类的元信息或控制类的行为。以下是一些常见的类对象内置属性:

name:返回类的名字。

class MyClass:
    pass

print(MyClass.__name__)  # 输出 "MyClass"

doc:返回类的文档字符串(如果有的话)。

class MyClass:
    """This is a docstring for MyClass."""

print(MyClass.__doc__)  # 输出 "This is a docstring for MyClass."

base:返回类的基类。如果类没有基类,则返回 None。

class Base:
    pass

class MyClass(Base):
    pass

print(MyClass.__base__)  # 输出 <class '__main__.Base'>

bases:返回一个包含类所有基类的元组。

class Base1:
    pass

class Base2:
    pass

class MyClass(Base1, Base2):
    pass

print(MyClass.__bases__)  # 输出 (<class '__main__.Base1', <class '__main__.Base2'>)

mro:返回一个包含类及其所有基类的元组,用于解析方法调用和属性查找。

class Base1:
    pass

class Base2:
    pass

class MyClass(Base1, Base2):
    pass

print(MyClass.__mro__)  # 输出 (<class '__main__.MyClass'>, <class '__main__.Base1'>, <class '__main__.Base2'>, <class 'object'>)

dict:返回一个字典,其中包含类的属性。注意,这不会包括继承自基类的属性。

class MyClass:
    x = 1

print(MyClass.__dict__)  # 输出 {'x': 1}

module:返回定义类的模块的名称。如果类是在交互式解释器中定义的,则返回 “main”。

# 假设这个脚本的名称是 "my_module.py"

class MyClass:
    pass

print(MyClass.__module__)  # 输出 "my_module"

subclasses():返回一个包含类的所有直接子类的列表。

class Base:
    pass

class SubClass1(Base):
    pass

class SubClass2(Base):
    pass

print(Base.__subclasses__())  # 输出 [<class '__main__.SubClass1'>, <class '__main__.SubClass2'>]

这些是类对象的一些常见内置属性。还有其他一些不太常见的属性,这些属性主要用于Python的内部实现。在大多数情况下,上述属性应该足以满足你的需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熊猫Devin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值