目录
1.创建和使用类
1.1根据类创建实例
2.使用类和实例
3.继承
3.1子类的继承方法__init__()
3.2给子类定义属性和方法
3.3重写父类方法
3.4将实例用例作属性
4.导入类
实例化:根据类创建对象
1.创建和使用类
创建Dog类,每个实例都存储名字和年龄,赋予了小狗蹲下(sit())和打滚(roll_over())能力
class Dog: | 方法:__init__(),这类的函数称为方法。 创建新实例的时候,python会自动运行它 __init__(self)self一定要有,自动传递 self.name = name:获取与形参name相关联的值,并将其赋值给变量name,然后该变量被关联到当前创建的实例。 |
1.1根据类创建实例
class Dog:…… | My dog name:Dylan,age:7. | |
访问属性 | 访问my_dog的name属性:my_dog.name | |
调用方法 | my_dog.sit() | Dylan is now sitting. Dylan rolled over! |
创建多个实例 | my_dog = Dog('Dylan',7) |
2.使用类和实例
创建Car类,存储有关汽车的信息,汇总这些信息
class Car: | 2024 Audi A4 |
给属性 指定默认值 | class Car:
| 2024 Audi A4 miles:0 | |
修改属性值 | 1.直接修改 | my_car.odo_reading = 45 | miles:45 |
2.通过方法修改 | def updata_od(self,mileage): #将里程数设置为指定值
my_car.updata_odo(34) | miles:34 | |
def updata_od(self,mileage): | |||
3.通过方法对属性的值进行递增 | def increment_odo(self, miles): my_car.updata_odo(34_500) | miles:34500 miles:134500 |
3.继承
如果要编写的类是另一个现实类的特殊版本,可使用继承。
一个类继承另一个类时,将自动获取另一个类的所有属性和方法。
父类:原有类
子类:新类
3.1子类的继承方法__init__()
class FlectricCar(Car): |
3.2给子类定义属性和方法
一个类继承另一个类后,可以添加区分子类和父类所需的新属性、新方法。
class FlectricCar(Car): self.battery_size = 75 my_byd.describe_battery() | Car battert:75-kWh |
3.3重写父类方法
只要不符合子类模拟的实物的行为,都可以重写。
如果用电动车的方式调动fill_gas_tank(), 会忽略Car中的方法fill_gas_tank(), 运行右侧代码 | class FlectricCar(Car):…… def fill_gas_tank(self): |
3.4将实例用例作属性
当类属性和方法清单太长的时候,可以将类的一部分提取出来,作为一个独立的类。
将大型类拆分成多个协同工作的小类。
原来 | 拆分后 |
class FlectricCar(Car): self.battery_size = 75 my_byd.describe_battery() | class Battery:
self.battery = Battery() |
4.导入类
car.py | class Car: …… class ElectricCar(Car):…… |
my_car.py调用car.py | from car import Car |
导入ElectricCar类 | from car import ElectricCar |
导入模块中所有类 | from car import * |
使用别名as | from car import ElectricCar as EC |