类的首字母要大写,类的实例小写,类的定义: class Dog():
类中的函数成为方法,方法命名时在前后各加一个下划线,例如_init_(),称为特殊方法,防止和普通方法冲突,描述self属性
每次通过类创建新实例时,都会调用特殊方法
方法中第一个形参必定是self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法
创建类的实例时,将自动传入实参self,因此我们只用传self以外的实参即可
类中每个属性都必须有初始值
_init_()类似于C语言类中的构造函数,注意每个方法第一个形参必定是self,通过特殊方法(构造函数)创建实例(对象)
如果你要编写的类是另一个现成类的特殊版本,可使用 继承。一个类继承另一个类时,它将自动获得另一个类的所有属性和方法
创建子类时,父类必须包含在当前文件中,且位于子类前面
定义子类时,必须在括号内指定父类的名称。方法__init__() 接受创建父类实例所需的信息
super()是一个特殊函数,帮助Python将父类和子类关联起来。这行代码让Python调用父类的方法__init__(),让子类实例包含父类的所有属性。父类也称为超类(superclass),名称super因此而得名
def __init__(self, make, model, year):
"""
电动汽车的独特之处
初始化父类的属性,再初始化电动汽车特有的属性 (只是初始化,并没有继承)
"""
super().__init__(make, model, year) (一行代码,声明子类继承父类的方法)
self.battery_size = 70 (新属性,有默认值,所以不用传实参)
子类同名覆盖父类的方法
*类的实例可以作为属性,利用.访问各个方法
后命名的模块可以覆盖之前的同名文件
导入类: 类似于导入函数 from module_name import class_name
一个module中可以保存多个类
导入整个module: import module_name
导入模块中全部类: from module import *
python中有很多标准库可以直接用
类编码风格:
类名大写,不使用下划线 实例名和模块名小写,且使用下划线
每个类(紧贴定义)和模块后面都应有一行注释声明用处
类中可以用一个空行分隔方法,类间用两个空行分开类
需要多个import语句时,先import标准库的,再import自己写的
学的头晕眼花,除了class掌握的不太好,别的感觉差不太多,基本语法学了,继续努努力
181 / 482