① 面向对象编程是最有效的软件编写方法之一。
② 编写类时,你定义一大类对象都有的通用行为。
③ 基于类创建对象时,每个对象都自动具备这种通用行为。
④ 根据类来创建对象被称为实例化。
一:创建和使用类:
① 在python中,首字母大写的名称指的是类。
② 类中的函数称为方法。
③ 每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身 的引用,让实例能够访问类中的属性和方法。
④ 以self为前缀的变量都可供类中的所有方法调用。
1:创建Dog类
2:根据类创建实例:(接着上面的代码)
输出:
◆ 访问属性:使用句点表示法
◆ 调用方法:使用句点表示法
输出:
◆ 创建多个实例:
输出:
二:使用类和实例:你可以使用类来模拟现实世界中的很多情景,类编写好后,你的大部分时间都花在使用根据类创建的实例上。
1:Car类
输出:
2:给属性指定默认值
输出:
3:修改属性的值:
可以以三种不同的方式修改属性的值:直接通过实例进行修改;通过方法进行设置;通过方法进行递增(增加特定的值),下面介绍前两种:
◆ 直接修改属性的值(代码接上)
输出:
◆ 通过方法修改属性的值(代码接上)
输出:
三:继承:
① 一个类继承另一个类时,它将自动获得另一个类的所有的属性和方法。
② 原有的类称为父类,而新类称为子类。
③ 子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法。
1:子类的方法__init__():(代码接上)
◆ 创建子类时,父类必须包含在当前文件中,且位于子类前面。
◆ 定义子类时,必须在括号指定父类的名称。
输出:
2:给子类定义属性和方法:(代码接上)
输出:
3:重写父类的方法:
若需要重写父类的方法,可在子类中定义一个与父类方法同名的方法,这样,Python将不会考虑这个父类方法,而只关注子类中定义的方法。
4:将实例用作属性:
使用代码模拟实物的时候,随着给类添加的细节越来越多,文件越来越长,这时可以将一个大型类拆分为几个协同工作的小类。
输出:
四:导入类:
◆ 导入类是一种有效的编程方式,
◆ 要导入类,首先得创建一个模块存放将被导入的类,在这里,我创建了一 个 名为car.py模块,里面包含了上面创建的Car类、Battery类和继承Car类 而来的ElectricCar类:
◆ 导入单个类:
◆ 从一个模块中导入多个类
输出:
◆ 导入整个模块
◆ 导入模块中的所有类:使用下面的语法:
这种方式容易引发名称方面的困惑,不建议使用。
五:类编码风格:
◆ 类名应采用驼峰命名法,即将类名中的每个单词的首字母都大写,而不使用 下划线。
◆ 实例名和模块名都采用小写形式,并在单词之间加上下划线。
◆ 对于每个类,都应紧跟在类定义后面包含一个文档字符串,
◆ 每个模块也都应包含一个文档字符串。
◆ 在类中,使用一个空行来分隔方法。而在模块中,使用两个空行来分隔类。
每天学习一点点,每天进步一点点。