from math import pi
classShape(object):#这里object为以后继承做准备def__init__(self):pass#system auto call function to input r that get AreadefgetPerimeter(self):passdefgetArea(self):pass#分别定义继承抽象类Shape的3个子类即Triangle、Rectangle、和Circle,在这3个子类中重写 Shape中的方法getArea()和 getPerimeter( )。'''
```python
classTriangle(Shape):def__int__(self,a,b,c):
self.a=a
self.b=b
self.c=c
defgetArea(self,a,b,c):#(1/16)(a+b+c)(a+b-c)(a+c-b)(b+c-a)return((a+b+c)*(a+b-c)*(a+c-b)*(b+c-a)/16)**0.5#三角形求面积就是如此defgetPerimeter(self,a,b,c):return(a+b+c)print('=============三角形求面积和周长==============')
c1=Triangle()
l =c1.getArea(3,5,4)print(l)
s=c1.getPerimeter(3,5,4)print(s)classCircle(Shape):def__int__(self, r):
self.r = r
self.r = r
defgetArea(self,r):# (1/16)(a+b+c)(a+b-c)(a+c-b)(b+c-a)return pi*r**2# 三角形求面积就是如此defgetPerimeter(self,r):return2*pi*r
print('=============圆形求面积和周长==============')
c3 = Circle()
l = c3.getArea(6)print(l)
s = c3.getPerimeter(6)print(s)classRectangle(Shape):def__int__(self, a, b):
self.a = a
self.b = b
defgetArea(self, a, b):# (1/16)(a+b+c)(a+b-c)(a+c-b)(b+c-a)return2*(a+b)# 三角形求面积就是如此defgetPerimeter(self, a, b):return2*(a + b )print('=============矩形求面积和周长==============')
c2 = Rectangle()
l = c2.getArea(3,5)print(l)
s = c2.getPerimeter(3,5)print(s)