Python类中内置的查看直接父类的__bases__属性

310 篇文章 ¥59.90 ¥99.00
本文介绍了Python中类的内置属性__bases__,该属性用于查看类的直接父类,帮助理解类的继承层次结构。通过示例代码展示了如何使用__bases__获取并打印出类的直接父类。

Python类中内置的查看直接父类的__bases__属性

在Python中,我们可以使用__bases__属性来查看一个类的直接父类。这个属性是一个元组,包含了当前类直接继承的父类。通过查看__bases__属性,我们可以获取类的继承关系,并了解类与其父类之间的层次结构。

下面,我将为你展示如何使用__bases__属性,并提供相应的源代码。

class Vehicle:
    pass

class Car(Vehicle):
    pass

class ElectricCar
### Python 内置方法和属性 #### 内置属性 Python 中的拥有一些特殊的内置属性,这些属性通过双下划线包围来与其他普通属性区分开。以下是常见的几个: - `__name__`:表示当前定义的的名字[^2]。 - `__module__`:表示该或对象所属的模块名[^2]。 - `__dict__`:这是一个字典,包含了或对象的所有可变属性。对于而言,这包括其数据属性;而对于实例,则可能还包括动态添加的属性。 - `__doc__`:这是或对象的文档字符串,通常位于 class 关键词之后的第一条语句中,用于描述的功能和用途。 - `__bases__`:如果是一个的话,这个属性会给出一个元组形式的结果,里面包含着所有的基(即父类)。如果是新式,则至少有一个 base 是 object。 ```python class ExampleClass: """This is an example of how to use built-in attributes.""" print(ExampleClass.__name__) # 输出: ExampleClass print(ExampleClass.__module__) # 输出: __main__ print(ExampleClass.__doc__) # 输出: This is an example... print(tuple([cls.__name__ for cls in ExampleClass.__bases__])) # 输出 ('object',) ``` #### 内置方法 除了上述提到的特殊属性外,Python 的每一个还继承自基础对象 `object` ,因此具有许多默认可用的方法。这里列举一些常用的方法及其功能说明: - `__new__(cls[, ...])`: 负责创建并返回一个新的实例。此静态方法是在调用构造器时被自动触发执行的第一个操作,并且在大多数情况下不需要重载它除非有特别需求[^3]。 - `__init__(self, ...)`: 初始化新建的对象,在每次创建新的实例化对象的时候都会被执行一次。可以用来设置初始状态或分配资源给新建立的对象[^1]。 - `__str__(self)` 和 `__repr__(self)`: 返回关于对象的一个易于阅读的人友好型表达方式(`__str__()`) 或者更正式的技术性表述 (`__repr__()`) 。这两个魔术方法有助于调试以及日志记录等功能实现。 - `__eq__(self, other), __ne__(self, other)...` : 实现比较运算符的行为逻辑,比如等于 (==),不等于 (!=) 等等。 - `__getattr__(self, name), __setattr__(self, name, value)...` :控制访问不存在/存在的属性行为,允许开发者定制获取、设定成员变量的方式。 ```python class MyClass(object): def __init__(self, val=None): self.val = val def __str__(self): return f"MyClass instance with value {self.val}" mc = MyClass('test') print(mc) # 使用 __str__() print(str(MyClass())) # 默认输出 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值