在 OOP 程序设计中,当我们定义一个 class 的时候,可以从某个现有的 class 继承,新的 clas…
当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢? 使用 type() 首先,我们来判断对…
由于 Python 是动态语言,根据类创建的实例可以任意绑定属性。 给实例绑定属性的方法是通过实例变量,或者通…
数据封装、继承和多态只是面向对象程序设计中最基础的 3 个概念。在 Python 中,面向对象还有很多高级特性…
正常情况下,当我们定义了一个 class,创建了一个class 的实例后,我们可以给该实例绑定任何属性和方法,…
在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: s …
继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。 回忆一下 Animal 类层次的…
看到类似 __slots__ 这种形如 __xxx__ 的变量或者函数名就要注意,这些在 Python 中是有…
当我们需要定义常量时,一个办法是用大写变量通过整数来定义,例如月份: JAN = 1 FEB = 2 MAR …
type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。 比方…