Python:定义一个形状基类,并在其下定义子类,计算面积和周长
2021/5/30 1:21:03
本文主要是介绍Python:定义一个形状基类,并在其下定义子类,计算面积和周长,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
编写代码,定义一个形状基类,有 2 个属性:面积和周长,以及两个无返回值的方法:area()和 perimeter(),分别计算形状的面积和周长,从基类派生出三个子类:三角形、矩形、圆,重载基类的两个方法。
class Shape: def __init__(self,areas = 0,perimeters = 0): self.areas = areas self.perimeters = perimeters #给shape赋予面积和周长变量 def area(): pass #定义area函数,不进行操作 def perimeter(): pass #定义周长函数,不进行操作 class Triangle(Shape): def __init__(self, a_side = 0, b_side = 0, c_side = 0,areas = 0, perimeters = 0): super().__init__(areas, perimeters) self.a_side = a_side self.b_side = b_side self.c_side = c_side #定义子类三角形,赋予都有属性三边长,同时给予默认值0防止报错 def area(self): s = (self.a_side + self.b_side + self.c_side) / 2 self.areas = (s * (s-self.a_side) * (s-self.b_side) * (s-self.c_side))**0.5 #求三角形的面积 def perimeter(self): self.perimeters = self.a_side + self.b_side + self.c_side #求周长 class Circle(Shape): def __init__(self, radius = 0, areas = 0, perimeters = 0): super().__init__(areas, perimeters) self.radius = radius #定义子类圆,同时赋予独有属性半径,给予其默认值 def area(self): self.areas = (3.14 * (self.radius**2)) / 2 def perimeter(self): self.perimeters = 2 * 3.14 * self.radius #分别求面积周长并付给对应值 class Rectangle(Shape): def __init__(self, length = 0, wideth = 0, areas = 0, perimeters = 0): super().__init__(areas, perimeters) self.length = length self.wideth = wideth #定义子类矩形,独有属性长和宽,默认值均为零 def area(self): self.areas = self.length * self.wideth def perimeter(self): self.perimeters = 2 * (self.length + self.wideth) #分别求面积和周长 def area(self): self.areas = (3.14 * (self.radius**2)) / 2 def perimeter(self): self.perimeters = 2 * 3.14 * self.radius #分别求面积周长并付给对应值 class Rectangle(Shape): def __init__(self, length = 0, wideth = 0, areas = 0, perimeters = 0): super().__init__(areas, perimeters) self.length = length self.wideth = wideth #定义子类矩形,独有属性长和宽,默认值均为零 def area(self): self.areas = self.length * self.wideth def perimeter(self): self.perimeters = 2 * (self.length + self.wideth) #分别求面积和周长 #测试 a1 = Triangle(3,4,5) a1.area() a1.perimeter() print(a1.areas) print(a1.perimeters) #三角形(3,4,5)符合要求且正确 a2 = Circle(5) a2.area() a2.perimeter() print(a2.areas) print(a2.perimeters) #矩形(3,4)符合要求且正确 a3 = Rectangle(5) a3.area() a3.perimeter() print(a3.areas) print(a3.perimeters) #圆(5)符合要求且正确
这篇关于Python:定义一个形状基类,并在其下定义子类,计算面积和周长的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-03用FastAPI掌握Python异步IO:轻松实现高并发网络请求处理
- 2025-01-02封装学习:Python面向对象编程基础教程
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型