【python】基础知识类的语法功能讲解

Python代码定义了一个名为Calculation的类,用于执行基础的数学运算(加法、减法、乘法、除法和取模)。下面我将详细解释各个部分的功能,并以列表形式总结:
在这里插入图片描述

类定义:

class Calculation: 定义了一个名为Calculation的类,它可以创建具有特定属性和方法的对象。
初始化方法:

def init(self, a, b): 是类的构造函数,当创建类的实例时自动调用。
self.a = a 和 self.b = b 将传入的参数a和b分别作为对象的属性存储起来。
运算方法:

def add(self): 返回self.a与self.b的和。
def sub(self): 返回self.a与self.b的差。
def mul(self): 返回self.a与self.b的乘积。
def div(self): 返回self.a与self.b的商(假设b不为0)。
def mod(self): 返回self.a除以self.b的余数(同样假设b不为0)。
主程序逻辑:

在if name == ‘main’:下的代码块在直接运行此脚本时被执行。
通过用户输入获取两个数字a和b,并创建一个Add类的实例obj。
使用无限循环提供菜单选项让用户选择要执行的运算类型。
根据用户的选择调用相应的类方法计算结果并打印输出。
当用户选择退出(即输入6)时,跳出循环并显示结束语句。
总结成列表形式如下:

类Calculation包含以下功能:

初始化:设置两个数值成员变量a和b。

运算方法:
加法:返回a + b的结果。
减法:返回a - b的结果。
乘法:返回a * b的结果。
除法:返回a / b的结果(注意除数不能为零)。
取模:返回a % b的结果。
主程序流程:

获取用户输入的两个数。

创建Calculation类的实例。

显示操作菜单并循环获取用户选择。

调用相应的方法执行运算并打印结果。
用户选择退出时终止程序。

#创建一个加法类函数
class Add:def __init__(self,a,b):self.a=aself.b=bdef add(self):return self.a+self.bdef sub(self):return self.a-self.bdef mul(self):return self.a*self.bdef div(self):return self.a/self.bdef mod(self):return self.a%self.bif __name__ == '__main__':a=int(input("请输入第一个数:"))b=int(input("请输入第二个数:"))obj=Add(a,b)while True:print("1.加法")print("2.减法")print("3.乘法")print("4.除法")print("5.取模")print("6.退出")c=int(input("请输入选项:"))if c==1:print(obj.add())elif c==2:print(obj.sub())elif c==3:print(obj.mul())elif c==4:print(obj.div())elif c==5:print(obj.mod())elif c==6:breakprint("欢迎下次使用")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/619412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CMake在静态库中链接动态库

hehedalinux:~/Linux/multi-v3$ tree . ├── calc │ ├── add.cpp │ ├── CMakeLists.txt │ ├── div.cpp │ ├── mult.cpp │ └── sub.cpp ├── CMakeLists.txt ├── include │ ├── calc.h │ └── sort.h ├── sort │ ├── …

SpringBoot项目里用MultipartFile作为入参获取到的file为什么null

前言: 最近在项目中用到了Excel模板导入功能,但是在测试阶段用Postman测试时,通过Post请求,传到后端的File一直为null。其中前端传参和请求都没问题,后端的接参也没问题,问题出在过滤器的复用上。 问题场…

外包干了5个月,感觉技术退步明显......

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四…

Spring Security入门

目录 1.简介 与shiro对比 添加依赖 执行流程 2.UserDetailsService User实现类 3.PasswordEncoder BCryptPasswordEncoder 4.自定义登录逻辑 5.自定义登录界面 6.设置请求账户和密码的参数 7.自定义登陆处理器 成功 失败 8.判断 权限判断 角色判断 …

navicat for oracle

前言 Oracle中的概念并不是创建数据库,而是创建一个表空间,然后再创建一个用户,设置该用户的默认表空间为我们新创建的表空间,这些操作之后,便和你之前用过的mysql数据库创建完数据库一模一样了。 创建数据库 使用O…

【DP】1143.最长公共子序列

题目 法1:DP 基础算法,必须掌握!!! class Solution {public int longestCommonSubsequence(String text1, String text2) {int m text1.length() 1, n text2.length() 1;int[][] dp new int[m][n];for (int i …

将图片转为tensor类型的方法

要将图片转换为 tensor,您可以使用 PyTorch 的 torchvision.transforms 模块中的 ToTensor 转换。ToTensor 转换会将 PIL 图像或 NumPy ndarray 转换为 torch tensor。它还会自动将像素值从 [0, 255] 缩放到 [0.0, 1.0] 的范围。以下是将图片转换为 tensor 的步骤&a…

麒麟系统编写桌面点击可执行文件

1. 使脚本可执行 首先,确保您的脚本具有执行权限。打开终端,然后执行以下命令: chmod x /path/to/cryptsetup.sh确保替换 /path/to/cryptsetup.sh 为您脚本的实际路径。 2. 创建桌面快捷方式 在桌面上创建一个快捷方式(.deskt…

Error: Failed to download template from registry: fetch failed

第一次构建Nuxt项目时,出现在这样的错误!!! 如果你也是这样得错误,修改hosts也没用。我试了 是因为你的npm安装了其他镜像源, 这个时候你就需要手动下载了: web端访问: https://ra…

Himawari-8 数据下载【利用FTP】

1 波段介绍 2 注册 数据下载之前,必须进行注册 JAXA Himawari Monitor | Registration 注册后,在邮箱里点击同意 邮箱会给出FTP的账号信息 3 下载FTP软件 点击进行新站点的新建 设置刚才邮箱里的主机、用户和密码 选择远程站点,选择自己…

权限系统模型:RBAC模型与ABAC模型

权限系统 基于角色的访问控制(RBAC) 基于角色的控制访问(Role-Based Access Control,简称 RBAC),即:给予该账号角色(Role),授权角色对应的相关权限&#xf…

编程探秘:Python深渊之旅-----深入 Python 脚本(三)

随着项目的发展,自动化某些重复性任务成为提高效率的关键。派超和瑞宝开始探索 Python 脚本的强大功能,以简化他们的工作。 派超(兴奋地):听说 Python 脚本可以帮我们自动化许多枯燥的任务,是真的吗&#…

STL篇一:string

文章目录 前言1. STL的简单理解1.1 什么是STL1.2 STL的版本1.3 STL的六大组件1.4 STL的重要性1.5 STL的缺陷 2. string类2.1 为什么学习string类?2.1.1 C语言中的字符串2.1.2 两个面试题 2.2 标准库中的string类2.2.1 string类(了解)2.2.2 string类的常用接口说明 2…

luogu【深基4.习9】打分

【深基4.习9】打分 题目描述 现在有 n ( n ≤ 1000 ) n(n \le 1000) n(n≤1000) 位评委给选手打分,分值从 0 0 0 到 10 10 10。需要去掉一个最高分,去掉一个最低分(如果有多个最高或者最低分,也只需要去掉一个)&a…

Kafka基本介绍

消息队列 产生背景 消息队列:指的数据在一个容器中,从容器中一端传递到另一端的过程 消息(message): 指的是数据,只不过这个数据存在一定流动状态 队列(queue): 指的容器,可以存储数据,只不过这个容器具备FIFO(先进…

kali_linux换源教程

vim /etc/apt/sources.list #阿里云deb http://mirrors.aliyun.com/kali kali-rolling main non-free contribdeb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib#清华大学源deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib…

LVGL 8.x适配嵌入式Linux的Framebuffer

LVGL 8.x适配Linux的Framebuffer 文章目录 LVGL 8.x适配Linux的Framebuffer1、硬件准备2、软件配置3、LVGL配置与编译在前面的文章中,我们对TFT LCD进行了Framebuffer驱动适配,本文将在该基础上,对LVGL8 进行适配。 1、硬件准备 Raspberry Pi Zero W开发板一个(镜像Linux内…

Android14实战:打破音频默认重采样的限制(五十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

5文件操作

包含头文件<fstream> 操作文件三大类&#xff1a; ofstream : 写文件ifstream &#xff1a;读文件fstream : 读写文件 5.1文本文件 -文件以ascii的形式存储在计算机中 5.1.1写文件 步骤&#xff1a; 包含头文件 #include "fstream"创建流对象 ofs…

【STM32】STM32学习笔记-FlyMCU串口下载和STLINK Utility(30)

00. 目录 文章目录 00. 目录01. 串口简介02. 串口连接电路图03. FlyMCU软件下载程序04. 串口下载原理05. FlyMCU软件其它操作06. STLINK Utility软件07. 软件下载08. 附录 01. 串口简介 串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式&#xff0c;因为它简…