python 形状面积计算

  1. 形状面积计算
  1. 代码:

import math
class Shape:
    def __init__(self,name): #构造
        self.name=name
    def area(self):
        pass
    def getname(self):
        return self.name
class Square(Shape):
    def __init__(self,name,length):
        super().__init__("square")
        self.__length=length
    def area(self):
        return self.__length**2
class Circle(Shape):
    def __init__(self,namne,r):
        super().__init__("circle")
        self.__r=r
    def area(self):
        return self.__r**2*math.pi

s=Square('square',4)
print(f"正方形的面积为{s.area()}")
c=Circle('circle',2)
print(f"圆形的面积为{c.area()}")
def s1(shape):
    print(f"{shape.getname()}的面积为{shape.area()}")
s1(s)
s1(c)
shapes=[s,c]
for shape in shapes:
    print(f"{shape.getname()}的面积为{shape.area()}")

  1. 截图:

  1. 分析:

首先,代码导入了math模块,这个模块提供了数学相关的函数,本代码中主要用它来获取圆周率π。

接着定义了一个基类Shape,它代表一个形状。这个类有三个方法:

__init__:构造函数,用于初始化形状的名称。

area:一个占位方法,用于在子类中实现具体的面积计算逻辑。在Shape类中它不执行任何操作。

getname:返回形状的名称。

然后,定义了两个从Shape类继承的子类:Square和Circle。

Square类代表正方形,它有两个方法:

__init__:构造函数,除了调用父类的构造函数设置名称为"square"外,还接受一个参数length表示正方形的边长,并将其保存为私有属性__length。

area:重写了父类的同名方法,用于计算正方形的面积,即边长的平方。

Circle类代表圆,它也有两个方法:

__init__:构造函数,调用父类的构造函数设置名称为"circle",并接受一个参数r表示圆的半径,将其保存为私有属性__r。

area:重写了父类的同名方法,用于计算圆的面积,即π乘以半径的平方。

接下来,代码创建了Square和Circle的实例,并分别打印出它们的面积。这是通过调用各自实例的area方法来实现的。

之后,定义了一个函数s1,它接受一个shape对象作为参数,并打印出该形状的名称和面积。这个函数展示了多态性的应用,因为它可以接受任何Shape类型的对象,并调用其getname和area方法。

然后,使用s1函数分别打印了正方形和圆的名称和面积。

最后,代码创建了一个包含正方形和圆对象的列表shapes,并通过一个循环遍历这个列表,打印出每个形状的名称和面积。

  • 24
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值