标题
Python脚本编写与实战练习
课程价值
- 掌握Python常用语法
- 掌握Python面向对象
- 掌握调试代码的技能
- 了解简单工厂设计模式
- 为后面的自动化课程奠定编程基础
大纲
- 面向对象编程基本概念
- 面向对象实战演练之回合制格斗游戏
- 通过IDE调试python代码
- 设计模式-简单工厂方法
时长
120 分钟
PPT
源码链接
GitHub - ceshiren/HogwartsLG7: 霍格沃兹测试学院拉勾名企直推营第七期 https://ceshiren.com
实战内容
python面向对象概念理解
- 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
- 实例化:创建一个类的实例,类的具体对象。
- 方法:类中定义的函数。
- 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。
- 局部变量:定义在方法中的变量
- 实例变量:在类和方法内声明,需要加self. 标识区分
- 继承:带有父类、子类。子类可以继承父类的公共属性和方法。
- 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
debug
类和实例对象
# 通过class 关键字定义一个类
class House:
# 类的属性(静态属性)
door = ""
floor = ""
# 类的方法
# 使用def 定义函数, 类中的函数叫做(动态)方法
def cook(self):
print("我在厨房炸鸡排")
def sleep(self):
print("我在卧室睡觉")
# 实例对象
bob_house = House()
bob_house.door = "white"
bob_house.floor = "black"
# 可以使用debug 的方式,查看实例的属性内容
# 可以定义多个实例对象
# 修改实例的属性不会影响类本身
print("house.door对应的值为",House.door)
# 修改当前实例的属性不会影响到其他的实例
mary_house = House()
print(mary_house)
面向对象实战1
- 需求文档:
写一个Bicycle(自行车)类,有run(骑行)方法, 调用时显示骑行里程km(骑行里程为传入的数字):再写一个电动自行车类EBicycle继承自Bicycle,添加电池电量valume属性通过,参数传入, 同时有两个方法:
1)fill_charge(vol) 用来充电, vol 为电量
2)run(km) 方法用于骑行,每骑行10km消耗电量1度,当电量消耗尽时调用Bicycle的run方法骑行,通过传入的骑行里程数,显示骑行结果
知识点总结
- 构造函数: 在父类初始化的时候执行的函数。如果代码有需求,要求在类初始化就定义的变量,需要在构造函数定义, 语法:
__init__()
简单工厂模式
- 简单工厂模式专门定义一个类来负责创建其他类的实例
- 被创建的实例通常都具有共同的父类。
拓展信息
python 官方文档:https://docs.python.org/zh-cn/3.8/tutorial/index.html
装饰器:Primer on Python Decorators – Real Python
注意: 以下书籍难度较大,有基础后阅读
python cookbook:Python Cookbook 3rd Edition Documentation — python3-cookbook 3.0.0 文档
流畅的 python
leetcode 刷题