2025年Python入门之类的继承

Python入门之类的继承第 1 关 初识继承 本关的测试文件中定义了一个父类 animals 类 在此类中定义了三个方法 分别为 breath run foraging 而在通关文件中 定义了两个类 fish 与 leopard 这两个类都继承自 animals 类 本关的编程任务是补全 animals py

大家好,我是讯享网,很高兴认识大家。

第1关:初识继承

本关的测试文件中定义了一个父类animals类,在此类中定义了三个方法,分别为:breath()run()foraging()。而在通关文件中,定义了两个类:fishleopard,这两个类都继承自animals类。
 

本关的编程任务是补全animals.py文件中的定义子类部分,具体要求如下:

  • 填入定义继承自animals类的fish类的代码;
  • 填入定义继承自animals类的leopard类的代码。
import animalstest # 请在下面填入定义fish类的代码,fish类继承自animals类 Begin class fish(animalstest.animals): End def __init__(self,name): self.name = name def swim(self): print("%s会游泳" %self.name) # 请在下面填入定义leopard类的代码,leopard类继承自animals类 Begin class leopard(animalstest.animals): End def __init__(self,name): self.name = name def climb(self): print("%s会爬树" %self.name) fName = input() lName = input() f = fish(fName) f.breath() f.swim() f.foraging() l = leopard(lName) l.breath() l.run() l.foraging()

讯享网

第2关:覆盖方法 

本关的任务是补全Point.py文件中的代码,具体要求如下:

  • 填入覆盖父类getPoint()方法的代码,并在这个方法中分别得出x - yz - h结果的绝对值。
讯享网class Point: def __init__(self,x,y,z,h): self.x = x self.y = y self.z = z self.h = h def getPoint(self): return self.x,self.y,self.z,self.h class Line(Point): # 请在下面填入覆盖父类getPoint()方法的代码,并在这个方法中分别得出x - y与z - h结果的绝对值 Begin def getPoint(self): length_one = abs(self.x - self.y) length_two = abs(self.z - self.h) End print(length_one,length_two)

第3关:从标准类派生 

本关的编程任务是补全ChangeAbs.py文件中的代码,具体要求如下:


讯享网

  • 使用super()内建函数去捕获对应的父类,并调用它的__new__()方法来计算输入数值的绝对值,返回最后的结果;
  • 使用super()内建函数去捕获对应父类,从而使输入字典自动排序并返回最后的结果。
class ChangeAbs(int): def __new__(cls, val): # 填入使用super()内建函数去捕获对应父类以调用它的__new__()方法来计算输入数值的绝对值的代码 # 求一个数的绝对值的函数为abs() # 返回最后的结果 Begin return super(ChangeAbs, cls).__new__(cls,abs(val)) End class SortedKeyDict(dict): def keys(self): # 填入使用super()内建函数去捕获对应父类使输入字典自动排序的代码 # 返回最后的结果 Begin return sorted(super( SortedKeyDict, self).keys()) End 

第4关:多重继承 

本关的编程任务是补全src/Step4/multiInherit.py文件的代码,实现当调用类Etest()时,继承的是类Atest()。具体要求如下:

  • 填入定义子类C的代码;
  • 填入定义子类D的代码。
讯享网class A(object): def test(self): print("this is A.test()") class B(object): def test(self): print("this is B.test()") def check(self): print("this is B.check()") # 请在下面填入定义类C的代码 Begin class C(A,B): End pass # 请在下面填入定义类D的代码 Begin class D(A,B): End def check(self): print("this is D.check()") class E(C,D): pass
小讯
上一篇 2025-03-24 19:26
下一篇 2025-03-27 13:35

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/44115.html