- 根据约定,在 Python中,首字母大写的名称指的是类
- 类中的函数称为方法
- 在类中的函数,需要默认有self形参,并且在首部,作用是传递类去找到方法
- init()是初始化方法
class Dog:
"""模拟一次小狗的简单尝试"""
def __init__(self, name, age):
"""初始化小狗的名字和年龄"""
self.name = name
self.age = age
def sit(self):
print(f"{self.name}坐下")
def rool_over(self):
print(f"{self.name}翻滚")
9.1.2 根据类创建实例
9.1.2.1 创建实例
class Dog:
"""模拟一次小狗的简单尝试"""
def __init__(self, name, age):
"""初始化小狗的名字和年龄"""
self.name = name
self.age = age
def sit(self):
print(f"{self.name}坐下")
def rool_over(self):
print(f"{self.name}翻滚")
my_dog = Dog("wakuwaku", "2") # 创建一个实例
print(f"我的小狗叫做{my_dog.name},今年{my_dog.age}岁了")
my_dog.sit()
my_dog.rool_over()
9.1.2.1 访问属性
print(f"我的小狗叫做{my_dog.name},今年{my_dog.age}岁了") # 访问实例的属性,使用句点表示
9.1.2.2 调用方法
- 要有实例才可以使用
my_dog.sit() my_dog.rool_over()9.1.2.3 实例支持多个
class Dog:
"""模拟一次小狗的简单尝试"""
def __init__(self, name, age):
"""初始化小狗的名字和年龄"""
self.name = name
self.age = age
def sit(self):
print(f"{self.name}坐下")
def rool_over(self):
print(f"{self.name}翻滚")
my_dog = Dog("wakuwaku", "2")
you_dog = Dog("小黄", "3")
print(f"我的小狗叫做{my_dog.name},今年{my_dog.age}岁了")
print(f"我的小狗叫做{you_dog.name},今年{you_dog.age}岁了")
my_dog.sit()
my_dog.rool_over()
you_dog.sit()
you_dog.rool_over()
9.2 使用类和实例
9.2.1 简单的例子
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
def get_descriptive_name(self):
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
my_new_cat = Car("宝马", "X3", "2022")
print(f"我新买的车{my_new_cat.get_descriptive_name()}")
9.2.2 给属性指定默认值
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
# 默认值
self.odometer_reading = 0
def get_descriptive_name(self):
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
my_new_cat = Car("宝马", "X3", "2022")
print(f"我新买的车{my_new_cat.get_descriptive_name()},它的公里数为{my_new_cat.odometer_reading}")
9.2.3 修改属性的值
- 直接修改
my_new_cat.odometer_reading = 23
print(f"我新买的车{my_new_cat.get_descriptive_name()},它的公里数为{my_new_cat.odometer_reading}")
- 通过方法修改
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
# 默认值
self.odometer_reading = 0
def get_descriptive_name(self):
"""车的描述信息"""
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
def update_odometer(self, mileage):
"""修改车的里程表"""
if mileage > self.odometer_reading:
self.odometer_reading = mileage
else:
print("不能私自修改里程表!")
my_new_cat = Car("宝马", "X3", "2022")
my_new_cat.update_odometer(23)
my_new_cat.update_odometer(0)
print(f"我新买的车{my_new_cat.get_descriptive_name()},它的公里数为{my_new_cat.odometer_reading}")
- 通过方法对属性的值进行递增
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
# 默认值
self.odometer_reading = 0
def get_descriptive_name(self):
"""车的描述信息"""
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
def update_odometer(self, mileage):
"""修改车的默认里程表"""
if mileage > self.odometer_reading:
self.odometer_reading = mileage
else:
print("不能私自修改里程表!")
def increment_odometer(self, miles):
"""将里程表读数增加指定的量"""
if miles >= 0:
self.odometer_reading = self.odometer_reading + miles
else:
print("禁止增加负数!")
my_new_cat = Car("宝马", "X3", "2022")
my_new_cat.increment_odometer(200)
print(f"我新买的车{my_new_cat.get_descriptive_name()},它的公里数为{my_new_cat.odometer_reading}")
print(f"我已经开新车行驶{my_new_cat.odometer_reading}公里了")
9.3 继承
- 编写类时,并非总是要从空白开始。如果要编写的类是另一个现成类的 特殊版本,可使用继承。一个类继承另一个类时,将自动获得另一个类 的所有属性和方法。原有的类称为父类,而新类称为子类。子类继承了 父类的所有属性和方法,同时还可以定义自己的属性和方法。
-
创建子类时,父类必须包含在当前文件中,且位于子类前面
-
定义子类必须要在圆括号指定父类名称
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
# 默认值
self.odometer_reading = 0
def get_descriptive_name(self):
"""车的描述信息"""
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
def update_odometer(self, mileage):
"""修改车的默认里程表"""
if mileage > self.odometer_reading:
self.odometer_reading = mileage
else:
print("不能私自修改里程表!")
def increment_odometer(self, miles):
"""将里程表读数增加指定的量"""
if miles >= 0:
self.odometer_reading = self.odometer_reading + miles
else:
print("禁止增加负数!")
class Electrocar(Car): # 定义子类Electrocar,继承父类Car
"""新能源汽车"""
def __init__(self, make, model, year):
# 初始化Car父类的基本属性
super().__init__(make, model, year) # super()是个特殊函数,让你能够调用父类方法
my_new_cat = Car("宝马", "X3", "2022")
my_new_cat.increment_odometer(200)
print(f"我新买的车{my_new_cat.get_descriptive_name()},它的公里数为{my_new_cat.odometer_reading}")
print(f"我已经开新车行驶{my_new_cat.odometer_reading}公里了")
my_new_Electrocar = Electrocar("小鹏", "P7", "2022")
my_new_Electrocar.increment_odometer(300)
print(f"我新买的电动车{my_new_Electrocar.get_descriptive_name()},它的公里数为{my_new_Electrocar.odometer_reading}")
print(f"我已经开新车行驶{my_new_Electrocar.odometer_reading}公里了")
9.3.2 给子类定义属性和方法
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
# 默认值
self.odometer_reading = 0
def get_descriptive_name(self):
"""车的描述信息"""
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
def update_odometer(self, mileage):
"""修改车的默认里程表"""
if mileage > self.odometer_reading:
self.odometer_reading = mileage
else:
print("不能私自修改里程表!")
def increment_odometer(self, miles):
"""将里程表读数增加指定的量"""
if miles >= 0:
self.odometer_reading = self.odometer_reading + miles
else:
print("禁止增加负数!")
class Electrocar(Car): # 定义子类Electrocar,继承父类Car
"""新能源汽车"""
def __init__(self, make, model, year):
# 初始化Car父类的基本属性
super().__init__(make, model, year) # super()是个特殊函数,让你能够调用父类方法
"""定义电动车自己的初始属性"""
self.battery_size = 75
# 第一辆油车
my_new_cat = Car("宝马", "X3", "2022")
my_new_cat.increment_odometer(200)
print(f"我新买的车{my_new_cat.get_descriptive_name()},它的公里数为{my_new_cat.odometer_reading}")
print(f"我已经开新车行驶{my_new_cat.odometer_reading}公里了")
# 第一辆电动车
my_new_Electrocar = Electrocar("小鹏", "P7", "2022")
my_new_Electrocar.increment_odometer(300)
print(f"我新买的电动车{my_new_Electrocar.get_descriptive_name()},它的公里数为{my_new_Electrocar.odometer_reading},有{my_new_Electrocar.battery_size}KWH的电池")
print(f"我已经开新车行驶{my_new_Electrocar.odometer_reading}公里了")
9.3.3 重写父类的方法
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
# 默认值
self.odometer_reading = 0
def get_descriptive_name(self):
"""车的描述信息"""
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
def update_odometer(self, mileage):
"""修改车的默认里程表"""
if mileage > self.odometer_reading:
self.odometer_reading = mileage
else:
print("不能私自修改里程表!")
def increment_odometer(self, miles):
"""将里程表读数增加指定的量"""
if miles >= 0:
self.odometer_reading = self.odometer_reading + miles
else:
print("禁止增加负数!")
def fill_gas_tank(self, litre):
"""油箱大小"""
fuel_tank_size = litre
return fuel_tank_size
class Electrocar(Car): # 定义子类Electrocar,继承父类Car
"""新能源汽车"""
def __init__(self, make, model, year):
# 初始化Car父类的基本属性
super().__init__(make, model, year) # super()是个特殊函数,让你能够调用父类方法
"""定义电动车自己的初始属性"""
self.battery_size = 75
def fill_gas_tank(self):
"""重写定义父类方法"""
print("电车没有油箱")
# 第一辆油车
my_new_cat = Car("宝马", "X3", "2022")
my_new_cat.increment_odometer(200)
print(f"我新买的车{my_new_cat.get_descriptive_name()},它的公里数为{my_new_cat.odometer_reading},油箱大小为{my_new_cat.fill_gas_tank(70)}")
print(f"我已经开新车行驶{my_new_cat.odometer_reading}公里了")
# 第一辆电动车
my_new_Electrocar = Electrocar("小鹏", "P7", "2022")
my_new_Electrocar.increment_odometer(300)
print(f"我新买的电动车{my_new_Electrocar.get_descriptive_name()},它的公里数为{my_new_Electrocar.odometer_reading},有{my_new_Electrocar.battery_size}KWH的电池")
print(f"我已经开新车行驶{my_new_Electrocar.odometer_reading}公里了")
my_new_Electrocar.fill_gas_tank()
9.3.4 将实例用作属性
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
# 默认值
self.odometer_reading = 0
def get_descriptive_name(self):
"""车的描述信息"""
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
def update_odometer(self, mileage):
"""修改车的默认里程表"""
if mileage > self.odometer_reading:
self.odometer_reading = mileage
else:
print("不能私自修改里程表!")
def increment_odometer(self, miles):
"""将里程表读数增加指定的量"""
if miles >= 0:
self.odometer_reading = self.odometer_reading + miles
else:
print("禁止增加负数!")
def fill_gas_tank(self, litre):
"""油箱大小"""
fuel_tank_size = litre
return fuel_tank_size
class Battery:
"""单独定义电动车的电池"""
def __init__(self, battery_size=75):
self.battery_size = battery_size
def describe_battery(self):
print(f"电动车的电池容量为{self.battery_size}")
def get_range(self):
if self.battery_size == 75:
range = 260
elif self.battery_size == 100:
range = 315
print(f"这辆车可以使用{range}公里")
class Electrocar(Car): # 定义子类Electrocar,继承父类Car
"""新能源汽车"""
def __init__(self, make, model, year):
# 初始化Car父类的基本属性
super().__init__(make, model, year) # super()是个特殊函数,让你能够调用父类方法
"""创建一个电池实体,并且附属给 self.battery 属性"""
self.battery = Battery()
def fill_gas_tank(self):
"""重写定义父类方法"""
print("电车没有油箱")
my_new_Electrocar = Electrocar("小鹏", "P7", "2022")
# 电动车.电池.打印电池容量
my_new_Electrocar.battery.describe_battery()
# 获取公里数
my_new_Electrocar.battery.get_range()
my_new_Electrocar.battery.battery_size = 100
my_new_Electrocar.battery.get_range()
第九章 类
9.1 创建和使用类
9.1.1 创建类
- 根据约定,在 Python中,首字母大写的名称指的是类
- 类中的函数称为方法
- 在类中的函数,需要默认有self形参,并且在首部,作用是传递类去找到方法
- init()是初始化方法
class Dog:
"""模拟一次小狗的简单尝试"""
def __init__(self, name, age):
"""初始化小狗的名字和年龄"""
self.name = name
self.age = age
def sit(self):
print(f"{self.name}坐下")
def rool_over(self):
print(f"{self.name}翻滚")
9.1.2 根据类创建实例
9.1.2.1 创建实例
class Dog:
"""模拟一次小狗的简单尝试"""
def __init__(self, name, age):
"""初始化小狗的名字和年龄"""
self.name = name
self.age = age
def sit(self):
print(f"{self.name}坐下")
def rool_over(self):
print(f"{self.name}翻滚")
my_dog = Dog("wakuwaku", "2") # 创建一个实例
print(f"我的小狗叫做{my_dog.name},今年{my_dog.age}岁了")
my_dog.sit()
my_dog.rool_over()
9.1.2.1 访问属性
print(f"我的小狗叫做{my_dog.name},今年{my_dog.age}岁了") # 访问实例的属性,使用句点表示
9.1.2.2 调用方法
- 要有实例才可以使用
my_dog.sit() my_dog.rool_over()9.1.2.3 实例支持多个
class Dog:
"""模拟一次小狗的简单尝试"""
def __init__(self, name, age):
"""初始化小狗的名字和年龄"""
self.name = name
self.age = age
def sit(self):
print(f"{self.name}坐下")
def rool_over(self):
print(f"{self.name}翻滚")
my_dog = Dog("wakuwaku", "2")
you_dog = Dog("小黄", "3")
print(f"我的小狗叫做{my_dog.name},今年{my_dog.age}岁了")
print(f"我的小狗叫做{you_dog.name},今年{you_dog.age}岁了")
my_dog.sit()
my_dog.rool_over()
you_dog.sit()
you_dog.rool_over()
9.2 使用类和实例
9.2.1 简单的例子
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
def get_descriptive_name(self):
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
my_new_cat = Car("宝马", "X3", "2022")
print(f"我新买的车{my_new_cat.get_descriptive_name()}")
9.2.2 给属性指定默认值
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
# 默认值
self.odometer_reading = 0
def get_descriptive_name(self):
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
my_new_cat = Car("宝马", "X3", "2022")
print(f"我新买的车{my_new_cat.get_descriptive_name()},它的公里数为{my_new_cat.odometer_reading}")
9.2.3 修改属性的值
- 直接修改
my_new_cat.odometer_reading = 23
print(f"我新买的车{my_new_cat.get_descriptive_name()},它的公里数为{my_new_cat.odometer_reading}")
- 通过方法修改
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
# 默认值
self.odometer_reading = 0
def get_descriptive_name(self):
"""车的描述信息"""
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
def update_odometer(self, mileage):
"""修改车的里程表"""
if mileage > self.odometer_reading:
self.odometer_reading = mileage
else:
print("不能私自修改里程表!")
my_new_cat = Car("宝马", "X3", "2022")
my_new_cat.update_odometer(23)
my_new_cat.update_odometer(0)
print(f"我新买的车{my_new_cat.get_descriptive_name()},它的公里数为{my_new_cat.odometer_reading}")
- 通过方法对属性的值进行递增
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
# 默认值
self.odometer_reading = 0
def get_descriptive_name(self):
"""车的描述信息"""
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
def update_odometer(self, mileage):
"""修改车的默认里程表"""
if mileage > self.odometer_reading:
self.odometer_reading = mileage
else:
print("不能私自修改里程表!")
def increment_odometer(self, miles):
"""将里程表读数增加指定的量"""
if miles >= 0:
self.odometer_reading = self.odometer_reading + miles
else:
print("禁止增加负数!")
my_new_cat = Car("宝马", "X3", "2022")
my_new_cat.increment_odometer(200)
print(f"我新买的车{my_new_cat.get_descriptive_name()},它的公里数为{my_new_cat.odometer_reading}")
print(f"我已经开新车行驶{my_new_cat.odometer_reading}公里了")
9.3 继承
- 编写类时,并非总是要从空白开始。如果要编写的类是另一个现成类的 特殊版本,可使用继承。一个类继承另一个类时,将自动获得另一个类 的所有属性和方法。原有的类称为父类,而新类称为子类。子类继承了 父类的所有属性和方法,同时还可以定义自己的属性和方法。
-
创建子类时,父类必须包含在当前文件中,且位于子类前面
-
定义子类必须要在圆括号指定父类名称
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
# 默认值
self.odometer_reading = 0
def get_descriptive_name(self):
"""车的描述信息"""
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
def update_odometer(self, mileage):
"""修改车的默认里程表"""
if mileage > self.odometer_reading:
self.odometer_reading = mileage
else:
print("不能私自修改里程表!")
def increment_odometer(self, miles):
"""将里程表读数增加指定的量"""
if miles >= 0:
self.odometer_reading = self.odometer_reading + miles
else:
print("禁止增加负数!")
class Electrocar(Car): # 定义子类Electrocar,继承父类Car
"""新能源汽车"""
def __init__(self, make, model, year):
# 初始化Car父类的基本属性
super().__init__(make, model, year) # super()是个特殊函数,让你能够调用父类方法
my_new_cat = Car("宝马", "X3", "2022")
my_new_cat.increment_odometer(200)
print(f"我新买的车{my_new_cat.get_descriptive_name()},它的公里数为{my_new_cat.odometer_reading}")
print(f"我已经开新车行驶{my_new_cat.odometer_reading}公里了")
my_new_Electrocar = Electrocar("小鹏", "P7", "2022")
my_new_Electrocar.increment_odometer(300)
print(f"我新买的电动车{my_new_Electrocar.get_descriptive_name()},它的公里数为{my_new_Electrocar.odometer_reading}")
print(f"我已经开新车行驶{my_new_Electrocar.odometer_reading}公里了")
9.3.2 给子类定义属性和方法
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
# 默认值
self.odometer_reading = 0
def get_descriptive_name(self):
"""车的描述信息"""
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
def update_odometer(self, mileage):
"""修改车的默认里程表"""
if mileage > self.odometer_reading:
self.odometer_reading = mileage
else:
print("不能私自修改里程表!")
def increment_odometer(self, miles):
"""将里程表读数增加指定的量"""
if miles >= 0:
self.odometer_reading = self.odometer_reading + miles
else:
print("禁止增加负数!")
class Electrocar(Car): # 定义子类Electrocar,继承父类Car
"""新能源汽车"""
def __init__(self, make, model, year):
# 初始化Car父类的基本属性
super().__init__(make, model, year) # super()是个特殊函数,让你能够调用父类方法
"""定义电动车自己的初始属性"""
self.battery_size = 75
# 第一辆油车
my_new_cat = Car("宝马", "X3", "2022")
my_new_cat.increment_odometer(200)
print(f"我新买的车{my_new_cat.get_descriptive_name()},它的公里数为{my_new_cat.odometer_reading}")
print(f"我已经开新车行驶{my_new_cat.odometer_reading}公里了")
# 第一辆电动车
my_new_Electrocar = Electrocar("小鹏", "P7", "2022")
my_new_Electrocar.increment_odometer(300)
print(f"我新买的电动车{my_new_Electrocar.get_descriptive_name()},它的公里数为{my_new_Electrocar.odometer_reading},有{my_new_Electrocar.battery_size}KWH的电池")
print(f"我已经开新车行驶{my_new_Electrocar.odometer_reading}公里了")
9.3.3 重写父类的方法
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
# 默认值
self.odometer_reading = 0
def get_descriptive_name(self):
"""车的描述信息"""
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
def update_odometer(self, mileage):
"""修改车的默认里程表"""
if mileage > self.odometer_reading:
self.odometer_reading = mileage
else:
print("不能私自修改里程表!")
def increment_odometer(self, miles):
"""将里程表读数增加指定的量"""
if miles >= 0:
self.odometer_reading = self.odometer_reading + miles
else:
print("禁止增加负数!")
def fill_gas_tank(self, litre):
"""油箱大小"""
fuel_tank_size = litre
return fuel_tank_size
class Electrocar(Car): # 定义子类Electrocar,继承父类Car
"""新能源汽车"""
def __init__(self, make, model, year):
# 初始化Car父类的基本属性
super().__init__(make, model, year) # super()是个特殊函数,让你能够调用父类方法
"""定义电动车自己的初始属性"""
self.battery_size = 75
def fill_gas_tank(self):
"""重写定义父类方法"""
print("电车没有油箱")
# 第一辆油车
my_new_cat = Car("宝马", "X3", "2022")
my_new_cat.increment_odometer(200)
print(f"我新买的车{my_new_cat.get_descriptive_name()},它的公里数为{my_new_cat.odometer_reading},油箱大小为{my_new_cat.fill_gas_tank(70)}")
print(f"我已经开新车行驶{my_new_cat.odometer_reading}公里了")
# 第一辆电动车
my_new_Electrocar = Electrocar("小鹏", "P7", "2022")
my_new_Electrocar.increment_odometer(300)
print(f"我新买的电动车{my_new_Electrocar.get_descriptive_name()},它的公里数为{my_new_Electrocar.odometer_reading},有{my_new_Electrocar.battery_size}KWH的电池")
print(f"我已经开新车行驶{my_new_Electrocar.odometer_reading}公里了")
my_new_Electrocar.fill_gas_tank()
9.3.4 将实例用作属性
class Car:
"""一次模拟汽车的简单尝试"""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
# 默认值
self.odometer_reading = 0
def get_descriptive_name(self):
"""车的描述信息"""
long_name = f"{self.make} {self.model} {self.year}"
return long_name.title()
def update_odometer(self, mileage):
"""修改车的默认里程表"""
if mileage > self.odometer_reading:
self.odometer_reading = mileage
else:
print("不能私自修改里程表!")
def increment_odometer(self, miles):
"""将里程表读数增加指定的量"""
if miles >= 0:
self.odometer_reading = self.odometer_reading + miles
else:
print("禁止增加负数!")
def fill_gas_tank(self, litre):
"""油箱大小"""
fuel_tank_size = litre
return fuel_tank_size
class Battery:
"""单独定义电动车的电池"""
def __init__(self, battery_size=75):
self.battery_size = battery_size
def describe_battery(self):
print(f"电动车的电池容量为{self.battery_size}")
def get_range(self):
if self.battery_size == 75:
range = 260
elif self.battery_size == 100:
range = 315
print(f"这辆车可以使用{range}公里")
class Electrocar(Car): # 定义子类Electrocar,继承父类Car
"""新能源汽车"""
def __init__(self, make, model, year):
# 初始化Car父类的基本属性
super().__init__(make, model, year) # super()是个特殊函数,让你能够调用父类方法
"""创建一个电池实体,并且附属给 self.battery 属性"""
self.battery = Battery()
def fill_gas_tank(self):
"""重写定义父类方法"""
print("电车没有油箱")
my_new_Electrocar = Electrocar("小鹏", "P7", "2022")
# 电动车.电池.打印电池容量
my_new_Electrocar.battery.describe_battery()
# 获取公里数
my_new_Electrocar.battery.get_range()
my_new_Electrocar.battery.battery_size = 100
my_new_Electrocar.battery.get_range()
9.4 导入类
- 导入单个类
from car import Car
- 导入多个类
from car import Car, ElectricCar
- 导入全部类
from car import *
- 导入整个模块
import car
- 使用别名
from car import ElectricCar as EC



