类的定义格式:

class Name(Father_class):def __init__(self, para, ...):self.para = xdef __init__(self, para, ...):super().__init__(para, ...)   #调用父类的构造函数
class Car():def __init__(self,make,model,year):  #构造函数self.make = makeself.model = modelself.year = yearself.odometer_reading = 0def get_descriptive_name(self):long_name = str(self.year) + ' ' + self.make + ' ' + self.modelreturn long_name.title()def read_odometer(self):print('This car has ' + str(self.odometer_reading) + ' miles on it.')def update_odometer(self,mileage):if mileage >= self.odometer_reading:self.odometer_reading = mileageelse:print('You can not roll back an odometer!')def increment_odometer(self, miles):if miles < 0:print('You can cheat me! driving miles < 0')else:print('driving this car ' + str(miles) + 'miles')self.odometer_reading += milesdef fill_gas_tank(self):print('This car need fill gas !')class Battery():def __init__(self, battery_size=70):   #构造函数,带默认参数值self.battery_size = battery_sizedef describe_battery(self):print('This car has a ' + str(self.battery_size) + '-KWh battery.')def upgrade_battery(self):if self.battery_size != 85:self.battery_size = 85print("battery update successfully !")def get_range(self):if self.battery_size == 70:range = 240elif self.battery_size == 85:range = 270message = 'This car can go approximately ' + str(range)message += ' miles on a full charge.'print(message)class ElectricCar(Car):      #类的继承def __init__(self, make, model, year):super().__init__(make, model, year)  #调用父类初始化函数初始化父类成员self.battery = Battery()          #新的成员,一个Battery对象def fill_gas_tank(self):# super().fill_gas_tank()print('This car doesn\'t need a gas tank!')my_tesla = ElectricCar('tesla','model s', 2019)
print(my_tesla.get_descriptive_name())
my_tesla.battery.describe_battery()
my_tesla.fill_gas_tank()
my_tesla.battery.get_range()
my_tesla.battery.upgrade_battery()
my_tesla.battery.get_range()

python--从入门到实践--chapter 9 类相关推荐

  1. Python从入门到实践习题答案(第九章 类)

    在学习<Python从入门到实践>,代码是自己编写的噢(虽然有些代码有参考其他大佬),点个赞再走8~ 9-1 餐馆:创建一个名为 Restaurant 的类,其方法__init__()设置 ...

  2. python从入门到实践13章答案

    系列文章目录  python从入门到实践12章答案 python从入门到实践14章答案 目录 前言 一.13-1星星 二.13-2更逼真的星星 三.13-3雨滴 四.13-4连绵细雨 五.13-5 侧 ...

  3. python从入门到实践和从入门到精通-Python从入门到实践之列表|第1天

    User:你好我是森林 Date:2018-02-14 Mark:<Python从入门到实践> 列表 本章主要从列表的概念入手,逐步深入到对列表的操作. 列表 概念 列表由一系列按特定顺序 ...

  4. Python数据挖掘入门与实践-OneR分类算法

    Python数据挖掘入门与实践-OneR分类算法 OneR算法 OneR算法是根据已有的数据中,具有相同特征值的个体最可能属于哪个类别进行分类. 在本例中,只需选区Iris是个特征中分类效果最好的一个 ...

  5. Python从入门到实践第9章课后作业

    Python从入门到实践第9章课后作业 编写过程中不知道如何将列表传入子类中,下面实例中均没有使用 #9-1 # class Restaurant(): # """模拟饭 ...

  6. 《Python程序设计入门与实践》219道课后习题答案

    适用教材:Python程序设计入门与实践 I S B N:978-7-5606-5960-2 作    者:董付国 页    数:319页 例题数量:73个 演示代码:200段(不含例题代码) 习题数 ...

  7. Python从入门到实践

    Python从入门到实践 文章目录 Python从入门到实践 第2章 变量和简单的数据类型 2.2 变量的命名规则 2.3 字符串 2.4 数字 1.整数 2.浮点数 3.使用str( )避免类型错误 ...

  8. python从入门到实践19章答案

    目录 前言 一.博客 1.建立项目 2.创建应用程序 3.Django管理网站 4.让用户输入数据 二.博客账户 1.应用程序users 2.登录页面 3.注销 4.注册页面 三.重构 四.保护页面n ...

  9. 《Python从入门到实践》读书笔记——第五章 if语句

    <Python从入门到实践>读书笔记--第五章 if语句 1. 一个简单示例 cars = ['audi', 'bwm', 'subaru', 'toyota']for car in ca ...

最新文章

  1. R语言dplyr包通过数据列的索引重命名数据列实战(Rename Column by Index Position)
  2. eclipse java代码某一行需要修改注释_看看这些Java代码开发规范吧!你好,我好,大家好!...
  3. 《超越需求:敏捷思维模式下的分析》—第1章 1.1节简介
  4. 《看聊天记录都学不会C语言?太菜了吧》(5)打了一把游戏我学会了一个编程知识?
  5. 互联网原理和html基础,计算机网络基础知识习题及答案(八)
  6. HDU 2602 Bone Collector 0/1背包
  7. Mac 上使用vim 快捷键
  8. Duplicate Net Names Wire Net......
  9. 简单说一下寄存器寻址
  10. 为什么银行的现钞买入价低于现汇买入价?
  11. 为什么uzi排到古手羽就秒_Uzi排到古手羽秒退,网友争相发表看法,直播间弹幕疑似给出答案...
  12. java合并word文档和添加分节符
  13. html制作古诗网页早发白帝城,《早发白帝城》古诗词
  14. dalao的tajan模板
  15. 2018滴滴校招(秋招)内推笔试编程题题解
  16. 傅小兰研究员是学报第一任女主编吗?
  17. win7连接sftp_Windows下用sftp巧妙打造安全传输
  18. gl linux qt 库_Linux下Qt应用程序的发布(使用LDD命令查看所有依赖的库文件)
  19. 问题:现有12个外形相同的小球,只有其中一个小球质量不同(不能确定较重还是较轻),请用天平找出是哪个小球不同,而且还要找出究竟是轻是重?条件:只能称三次
  20. 中兴二面(综合面试及口语测评)

热门文章

  1. C语言中auto,register,extern,static【转】
  2. Unable to install pirate
  3. Python进程学习笔记-multiprocessing模块
  4. Python 实现微信小程序的用户登录
  5. Sub-process /usr/bin/dpkg returned an error code (1)解决办法
  6. 010. 使用.net框架提供的属性
  7. 工厂方法模式及php实现
  8. Everyday is an Opportunity
  9. .NET中得到计算机硬件信息
  10. Atmospheric Scattering