python 面向对象理解

面向过程开发,这种方式有个弊端就是没法复用,而且这种方式开发比较low

if __name__ == '__main__':
    num01 = int(input("请输入第一个整数:"))
    action = input("请选择要执行的操作【加[+],减[-],乘[*],除[/],余[%]】:")
    num02 = int(input("请输入第二个整数:"))
    if action == "+":
        print(" %d + %d = %d " % (num01,num02,num01+num02))
    if action == "-":
        print(" %d - %d = %d " % (num01,num02,num01-num02))
    elif action == "*":
        print(" %d * %d = %d " % (num01,num02,num01*num02))
    elif action == "/":
        print(" %d / %d = %.2f " % (num01,num02,num01/num02))
    elif action == "%":
        print(str(num01)+" % "+str(num02) + " = " +str(num01%num02))
    else:
        print("选择的操作无效!")

在这里插入图片描述

稍微的改进下,通过函数进行封装调用,这种方式比上面的好一点,其它地方用到的话也可以调用


def add(num01,num02):
    return num01 + num02

def sub(num01,num02):
    return num01 - num02

def mul(num01,num02):
    return num01 * num02

def div(num01,num02):
    return num01 / num02

if __name__ == '__main__':
    num01 = int(input("请输入第一个整数:"))
    action = input("请选择要执行的操作【加[+],减[-],乘[*],除[/],余[%]】:")
    num02 = int(input("请输入第二个整数:"))
    if action == "+":
        print(" %d + %d = %d " % (num01,num02,add(num01,num02)))
    elif action == "-":
        print(" %d - %d = %d " % (num01,num02,sub(num01,num02)))
    elif action == "*":
        print(" %d * %d = %d " % (num01,num02,mul(num01,num02)))
    elif action == "/":
        print(" %d / %d = %.2f " % (num01,num02,div(num01,num02)))
    elif action == "%":
        print(str(num01)+" % "+str(num02) + " = " +str(num01%num02))
    else:
        print("选择的操作无效!")

在这里插入图片描述

面向对象的方式





class Calculator:
    def __init__(self,num01,num02):
        self.num01 = num01
        self.num02 = num02
    def add(self):
        return self.num01 + self.num02
    def sub(self):
        return self.num01 - self.num02
    def mul(self):
        return self.num01 * self.num02
    def div(self):
        return self.num01 / self.num02
    def print_result(self,action:str,result):
        print(str(self.num01) + action + str(self.num02) + " = " + str(result))


if __name__ == '__main__':
    num01 = int(input("请输入第一个整数:"))
    action = input("请选择要执行的操作【加[+],减[-],乘[*],除[/],余[%]】:")
    num02 = int(input("请输入第二个整数:"))

    # 实例化一个类
    my_cal = Calculator(num01,num02)
    if action == "+":
        my_cal.print_result("+",my_cal.add())
    elif action == "-":
        my_cal.print_result("-",my_cal.sub())
    elif action == "*":
        my_cal.print_result("*",my_cal.mul())
    elif action == "/":
        my_cal.print_result("/",my_cal.div())
    elif action == "%":
        print(str(num01)+" % "+str(num02) + " = " +str(num01%num02))
    else:
        print("选择的操作无效!")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

季布,

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值