Python 类编码详解
1. 章节测验及答案
在深入学习 Python 类编码细节之前,先回顾一些基础问题及答案:
| 问题 | 答案 |
| — | — |
| 类与模块有什么关系? | 类总是嵌套在模块内部,是模块对象的属性。类和模块都是命名空间,但类对应语句(而非整个文件),支持多实例、继承和运算符重载等面向对象概念。从某种意义上说,模块就像一个没有继承的单实例类,对应一整个代码文件。 |
| 实例和类是如何创建的? | 类通过运行 class 语句创建,实例通过像调用函数一样调用类来创建。 |
| 类属性在哪里以及如何创建? | 类属性通过给类对象赋值属性来创建。通常由 class 语句中的顶层赋值生成,class 语句块中赋值的每个名称都会成为类对象的属性。也可以在任何有类对象引用的地方给类赋值属性来创建。 |
| 实例属性在哪里以及如何创建? | 实例属性通过给实例对象赋值属性来创建。通常在 class 语句内的类方法函数中,通过给 self 参数赋值属性来创建。也可以在任何有实例引用的地方通过赋值创建。通常,所有实例属性都在 __init__
构造方法中初始化。 |
| 在 Python 类中 self 是什么意思? | self 是类方法函数中第一个(最左边)参数的常用名称,Python 会自动将其填充为方法调用的隐含实例对象。这个参数不一定叫 self,其位置才是关键。 |
| 在 Python 类中如何编写运算符重载代码? | 在 Python 类中,运算符重载通过特殊命名的方法编写,这些方法都以双下划线开头和结尾以保证唯一性。它们不是内置或保留名称,当实例出现在相应操作中时,Python