Python 基础(六)类

在这里插入图片描述

一、类的定义

  1. 定义:三要素——类名、属性、方法
  2. 类的属性:即类内部的变量 def__init__(self,要传递的参数) 初始化类的参数
class Car():
	"""模拟汽车"""

	def __init__(self, brand, model, year):
		"""初始化汽车属性"""                    #相当于类内部的变量
		self.brand = brand                    #汽车的品牌
		self.model = model                    #汽车的型号
		self.year = year                      #汽车的出场年份
		self.mileage = 0                      #新车总里程初始为0
  1. 类的方法:相对于类内部定义的函数
class Car():
	"""模拟汽车"""

	def __init__(self, brand, model, year):
		"""初始化汽车属性"""                    #相当于类内部的变量
		self.brand = brand                    #汽车的品牌
		self.model = model                    #汽车的型号
		self.year = year                      #汽车的出厂年份
		self.mileage = 0                      #新车总里程初始为0

	def get_main_info(self):                  #self不能省
		"""获取汽车主要信息"""
		print("品牌:{}   型号:{}   出厂年份:{}".format(self.brand, self.model, self.year))

	def get_mileage(self):
		"""获取总里程数"""
		return "行车总里程数:{}公里".format(self.mileage)

二、创建实例

  1. 创建格式:a = 类名(必要的初始化参数)
  2. 访问属性:类名.属性名
  3. 调用方法:实例名.方法名(必要的参数)
    在这里插入图片描述
  4. 修改属性
    1)直接修改
    在这里插入图片描述
    2)通过方法修改属性
    在这里插入图片描述

三、类的继承

  1. 简单继承(自动继承父类的所有方法): class 子类名(父类名):
class ElectricCar(Car):
	"""模拟电动汽车"""

	def __init__(self, brand, model, year):
		"""初始化电动汽车属性"""
		super().__init__(brand, model, year)     #声明继承父类的属性

在这里插入图片描述

  1. 给子类添加属性和方法
class ElectricCar(Car):
	"""模拟电动汽车"""

	def __init__(self, brand, model, year, bettery_size):
		"""初始化电动汽车属性"""
		super().__init__(brand, model, year)      #声明继承父类的属性
		self.bettery_size = bettery_size          #电池容量
		self.electric_quantity = bettery_size     #电池剩余容量
		self.electric2distance_ratio = 5          #电量距离换算系数 5公里/kw.h
		self.remainder_range = self.electric_quantity*self.electric2distance_ratio     #剩余可行驶里程

	def get_electric_quantity(self):
		"""查看当前电池电量"""
		print("当前电池剩余电量:{} kw.h".format(self.electric_quantity))

	def set_electric_quantity(self, electric_quantity):
		"""设置电池剩余电量,重新计算电量可支撑行驶里程"""
		if electric_quantity >= 0 and electric_quantity <= self.bettery_size:
			self.electric_quantity = electric_quantity         #更新电池电量和可行驶里程
			self.remainder_range = self.electric_quantity*self.electric2distance_ratio
		else:
			print("电量未设置在合理范围!")

	def get_remainder_range(self):
		"查看剩余可行驶里程"
		print("当前电量还可以继续驾驶 {} 公里".format(self.remainder_range))

在这里插入图片描述

  1. 重写父类的方法——多态,方法名称不变,代码改变
def get_main_info(self):
	"""获取汽车主要信息"""
	print("品牌:{}   型号:{}   出厂年份:{}   续航里程:{} 公里".format(self.brand, self.model, self.year, self.bettery_size*self.electric2distance_ratio))
  1. 在类中直接调用其他类的实例
#新建一个类为Bettery
class Bettery():
	#此处省略

class ElectricCar(Car):
	"""模拟电动汽车"""

	def __init__(self, brand, model, year, bettery_size):
		"""初始化电动汽车属性"""
		super().__init__(brand, model, year)      #声明继承父类的属性
		self.bettery = Bettery(bettery_size)      #调用Bettery,bettery_size为参数
	def get_main_info(self):
		"""获取汽车主要信息"""
		print("品牌:{}   型号:{}   出厂年份:{}   续航里程:{} 公里".format(self.brand, self.model, self.year, self.bettery.bettery_size*self.electric2distance_ratio))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值