鱼C论坛

 找回密码
 立即注册
查看: 3768|回复: 0

[学习笔记] 2022-10-11 学习Python-Day17

[复制链接]
发表于 2022-10-11 16:42:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
今儿继续是class类 P62-64
  1. ###############################################P62 类与对象
  2. class C:
  3.     def __init__(self,x,y):
  4.         self.x=x
  5.         self.y=y
  6.     def add(self):
  7.         return self.x + self.y
  8.     def mul(self):
  9.         return self.x * self.y

  10. c=C(2,3)
  11. print(c.add())
  12. print(c.mul())
  13. print(c.__dict__)
  14. class D(C):
  15.     def __init__(self,x,y,z):
  16.         C.__init__(self,x,y)
  17.         self.z=z
  18.     def add(self):
  19.         return C.add(self)+self.z
  20.     def mul(self):
  21.         return  C.mul(self)*self.z
  22. d=D(2,3,4)
  23. print(d.add())
  24. print(d.mul())

  25. class A:
  26.     def __init__(self):
  27.         print('我是A')
  28. class B1(A):
  29.     def __init__(self):
  30.         A.__init__(self)
  31.         print('我是B1')
  32. class B2(A):
  33.     def __init__(self):
  34.         A.__init__(self)
  35.         print('我是B2')
  36. class C(B1,B2):
  37.     def __init__(self):
  38.         B1.__init__(self)
  39.         B2.__init__(self)
  40.         print('我是C')
  41. c=C()
  42. print(c)
  43. class B1(A):
  44.     def __init__(self):
  45.         super().__init__()
  46.         print('我是B1')
  47. class B2(A):
  48.     def __init__(self):
  49.         super().__init__()
  50.         print('我是B2')
  51. class C(B1,B2):
  52.     def __init__(self):
  53.         super().__init__()
  54.         print('我是C')
  55. c=C()
  56. print(c)
  57. print(C.mro())
  58. ###############################################P63 类与对象
  59. class Animal:
  60.     def __init__(self,name,age):
  61.         self.name =name
  62.         self.age =age
  63.     def say(self):
  64.         print(f'我叫{self.name},今年{self.age}岁。')
  65. class FlyMixin:
  66.     def fly(self):
  67.         print('起飞')
  68. class Pig(FlyMixin,Animal):
  69.     def special(self):
  70.         print('我们的技能是拱大白菜')
  71. p=Pig('大肠',5)
  72. p.say()
  73. p.special()
  74. p.fly()
  75. ################################
  76. class Displayer:
  77.     def display(self,message):
  78.         print(message)
  79. class LoggerMixin:
  80.     def log(self,message,filename='logfile.txt'):
  81.         with open(filename,'a') as f:
  82.             f.write(message)
  83.     def display(self,message):
  84.         super().display(message)
  85.         self.log(message)
  86. class MySubClass(LoggerMixin,Displayer):
  87.     def log(self,message):
  88.         super().log(message)
  89. subclass = MySubClass()
  90. subclass.display('This is a test')
  91. ###########################################P64 对象与类
  92. class Shape:
  93.     def __init__(self,name):
  94.         self.name=name
  95.     def area(self):
  96.         pass
  97. class Square(Shape):
  98.     def __init__(self,length):
  99.         super().__init__('正方形')
  100.         self.length=length
  101.     def area(self):
  102.         return self.length * self.length
  103. class Circle(Shape):
  104.     def __init__(self,radius):
  105.         super().__init__('圆形')
  106.         self.radius=radius
  107.     def area(self):
  108.         return self.radius * self.radius * 3.14
  109. class Triangle(Shape):
  110.     def __init__(self,base,high):
  111.         super().__init__('三角形')
  112.         self.base=base
  113.         self.high=high
  114.     def area(self):
  115.         return self.base * self.high / 2
  116. s=Square(5)
  117. print(s.name,s.area())
  118. c=Circle(6)
  119. print(c.name,c.area())
  120. t=Triangle(3,4)
  121. print(t.name,t.area())

  122. class Cat:
  123.     def __init__(self,name,age):
  124.         self.name=name
  125.         self.age=age
  126.     def intro(self):
  127.         print(f'我是一只猫咪,我叫{self.name},我今年{self.age}岁')
  128.     def say(self):
  129.         print('mua')

  130. class Dog:
  131.     def __init__(self,name,age):
  132.         self.name=name
  133.         self.age=age
  134.     def intro(self):
  135.         print(f'我是一只小狗,我叫{self.name},我今年{self.age}岁')
  136.     def say(self):
  137.         print('汪')

  138. class Pig:
  139.     def __init__(self,name,age):
  140.         self.name=name
  141.         self.age=age
  142.     def intro(self):
  143.         print(f'我是一只小猪,我叫{self.name},我今年{self.age}岁')
  144.     def say(self):
  145.         print('哦')
  146. c=Cat('web',4)
  147. d=Dog('布布',7)
  148. p=Pig('大肠',5)
  149. def animal(x):
  150.     x.intro()
  151.     x.say()
  152. animal(c)
  153. animal(d)
  154. animal(p)

  155. class Bicycle:
  156.     def intro(self):
  157.         print('大海')
  158.     def say(self):
  159.         print('自行车')
  160. b=Bicycle()
  161. animal(b)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-23 08:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表