定制类看到类似 slots 这种形如 xxx 的变量或者函数名就要注意,这些在 Python 中是有特殊用途的。 slots 我们已经知道怎么用了,len() 方法我们也知道是为了能让 class 作用于 len() 函数。 除此之外,Python 的 class 中还有许多这样有特殊用途的函数,可以帮助我们定制类。 str 我们先定义一个 Student 类,打廖雪峰2021年3月28日Python大约 7 分钟
继承和多态在 OOP 程序设计中,当我们定义一个 class 的时候,可以从某个现有的 class 继承,新的 class 称为子类 (Subclass) ,而被继承的 class 称为基类、父类或超类 (Base class、Super class) 。 比如,我们已经编写了一个名为 Animal 的 class,有一个 run() 方法可以直接打印: 当我们需要编廖雪峰2021年3月28日Python大约 9 分钟
获取对象信息当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢? 使用 type() 首先,我们来判断对象类型,使用 type() 函数: 基本类型都可以用 type() 判断: 如果一个变量指向函数或者类,也可以用 type() 判断: 但是 type() 函数返回的是什么类型呢?它返回对应的 Class 类型。如果我们要在 if 语句中判断,就需要廖雪峰2021年3月28日Python大约 5 分钟
类和实例面向对象最重要的概念就是类 (Class) 和实例 (Instance) ,必须牢记类是抽象的模板,比如 Student 类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 廖雪峰2021年3月28日Python大约 6 分钟
面向对象编程面向对象编程——Object Oriented Programming,简称 OOP,是一种程序设计思想。OOP 把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。 而面向Shimon Zhan2021年3月28日Python大约 2 分钟
属性私有属性 在 Class 内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面 Student 类的定义来看,外部代码还是可以自由地修改一个实例的 name、score 属性: 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线 ,在 Python 中,实例的变量名如果以 开头,廖雪峰2021年3月28日Python大约 7 分钟
特殊的 classtype() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。 比方说我们要定义一个 Hello 的 class,就写一个 hello.py 模块: 当 Python 解释器载入 hello 模块时,就会依次执行该模块的所有语句,执行结果就是动态创建出一个 Hello 的 class 对象,测试如下: type() 廖雪峰2021年3月28日Python大约 9 分钟
安装第三方模块在 Python 中,安装第三方模块,是通过包管理工具 pip 完成的。 如果您正在使用 Mac 或 Linux,安装 pip 本身这个步骤就可以跳过了。 如果您正在使用 Windows,请参考 安装 Python 一节的内容,确保安装时勾选了 pip 和 Add python.exe to Path。 在命令提示符窗口下尝试运行 pip,如果 Window廖雪峰2021年3月27日Python大约 3 分钟