习题42
python:3.9
这节应该和上节是一起的,下面的的代码和源代码不同,有些是新添加的,里面含有一下加分题的答案。

##Animal is-a object (yes,sort of confusing) look at the extra credit
class Animal(object):pass## Dog is-a Animal
class Dog(Animal):def __init__(self,name):##Dog has-a nameself.name =name
##Cat is-a Animal
class Cat(Animal):def __init__(self,name):##Cat has-a nameself.name=name        ##Person is-a object
class Person(object):def __init__(self,name):##Person has-a nameself.name =name##Person has-a pet of some kindself.pet =None##Employee is-a Person
class Employee(Person):def __init__(self,name,salary):## Employee has-a name    hmm what it this strange magic?##子类调用父类时候使用 super(子类名, self).方法名(参数)##子类 Employee 要调用父类 Person 的 name ,因为这里本来没有 name 这个东西super(Employee,self).__init__(name)##Employee has-a salaryself.salary=salary##Fish is-a object
class Fish (object):pass## Salmon is-a Fish  (salmon 鲶鱼)
class Salmon(Fish):pass##Halibut is-a Fish   (Halibut 大比目鱼)
class Halibut(Fish):pass## rover is-a Dog
rover =Dog("Rover")##satan is-a cat
satan =Cat("Satan")##mary is-a Person
mary =Person("Mary")##mary has-a pet named satan
mary.pet =satan##frank is-a Employee
frank = Employee("Frank",120000)##frank has-a pet named rover
frank.pet = rover##把 flipper 设为类 Fish 的一个实例
flipper = Fish()## Salmon 三文鱼,把 crouse 设为 Salmon 的一个实例
crouse = Salmon()##Halibut 大比目鱼,把 harry 设为 Halibut 的一个实例
harry = Halibut()

常见问题回答
这些 ## ??注解是干嘛用的?
这些注解是供你填空的。你应该在对应的位置填入“is-a”、“has-a”的概念。重读这节习题,看看其它的注解,仔细理解一下我的意思。

这句 self.pet = None有什么用?
确保类的 self.pet属性被设置为 None。

super(Employee, self).init(name)是做什么用的?
这样你可以可靠地将父类的 __init__方法运行起来。搜索“python super”,看看它的优缺点。

本文部分来源于此习题42

笨方法学python 习题42相关推荐

  1. 笨方法学Python 习题 42: 对象、类、以及从属关系

    有一个重要的概念你需要弄明白,那就是"类(class)"和"对象(object)"的区别.问题在于,class 和 object 并没有真正的不同.它们其实是同 ...

  2. 笨方法学python 习题37

    还是在笨方法学python中... 本节的习题是看一下作者列出的python中的各种运算符,尝试来理解这些符号. 在这里,我只列出了一些自己不会的,通过查百度得到得答案,这里来列举一下. (另外有不怎 ...

  3. 笨方法学python习题4

    变量和命名 #笨方法学python_习题4#定义变量 cars = 100 space_in_a_car = 4.0 drivers = 30 passengers = 90#计算 cars_not_ ...

  4. python从属关系编号_笨办法学Python 习题 42: 对象、类、以及从属关系

    有一个重要的概念你需要弄明白,那就是"类 (class)" 和"对象 (object)" 的区别.问题在于, class 和object 并没有真正的不同.它们 ...

  5. python手记(游戏) 笨方法学python习题36【持续更新中】

    如有意见或其他问题可在下方写下评论或加QQ:1693121186 欢迎一起讨论技术问题! 代码如下: 解说:这是笨方法的习题36,让做一个游戏.我会持续更新,如果想复制玩玩的同学,请别将主线线人以下的 ...

  6. python数值运算答案_笨方法学Python 习题3:数字和数学计算

    数字和数学计算 print("I will now count my chickens") print("Hens",25+30/6) print(" ...

  7. python38使用_笨方法学Python 习题38:列表的操作

    列表的操作: 这里先复习一下之前遇见过的函数:split()通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔num个子字符 str.split(str="", nu ...

  8. 笨方法学python 习题26

    习题26 python:3.9 首先我不知道为什么书中的网站打不开,一直是404,所以我就去网上涨了源代码,如下 def break_words(stuff):"""Th ...

  9. 笨方法学python 习题34

    习题34 python:3.9 animals = ['bear','python','peacock','kangaroo','whale','platypus']print ("The ...

  10. 笨方法学python 习题29-31

    if & else 习题29 - if语句 代码如下: 结果输出: Tips: if语句是什么?有什么用处? +=是什么意思? 习题30 else和if 代码如下: 结果输出: Tips: 习 ...

最新文章

  1. 第一课时之HTML简介
  2. stm32采集脉冲信号_STM32 TIM 编码器模式采集编码器信号
  3. Java中传参数--值传递和引用传递
  4. 个人支付宝账号也可以做付款后自动发货发卡系统,附:源码+demo
  5. MFC Timer定时器
  6. 量子计算机对人类长寿,科学家称“极端长寿”在未来几十年可能会达到新的里程碑...
  7. 操作数组的常用方式二-----排序、查找
  8. VisualAssistX中文注释提示错误 解决办法
  9. 如何完成一款游戏? | 独立游戏制作
  10. 驱动精灵w8ndows xp sp2,爱普生Epson TM-L60II打印机驱动官方正式版下载,适用于winxp,winvista,win7,win8,win10-驱动精灵...
  11. 解决Java下载Zip压缩文件,解压后报不可预料的压缩文件末端
  12. 来聊一聊广告主“又爱又恨”的EDM营销那档子事儿!
  13. 四.Protobuf3 缺省值
  14. 相机标定:像素焦距和毫米焦距的转换,根据内参计算FOV
  15. macbook usb口突然不能用 解决方法
  16. Java代码给csv文件加水印_如何给CSV数据包的图片批量加上水印
  17. Git的稀疏检出功能
  18. 纽约州立大学水牛城分校计算机科学专业,纽约州立大学水牛城分校
  19. 全国考研计算机成绩排名,全国33所计算机考研名校跨考难度系数排名
  20. 什么是BEPI认证?

热门文章

  1. css 使用本地字体
  2. CentOS或Linux中,查看Tomcat版本的三种方式
  3. beyond compare代码比对工具
  4. 三点确定一个圆的计算方法
  5. java反射机制原理详解
  6. 校验码的计算方法说明
  7. android使用zxing生成二维码及带logo的二维码
  8. 现代操作系统---1.操作系统的结构
  9. 二级倒立摆建模(二)
  10. AI系统可以自动生成逼真的人工星系图像