【Python百练——第3练】矩形类及操作
💐作者:insist--
💐个人主页:insist-- 的个人主页
理想主义的花,最终会盛开在浪漫主义的土壤里,我们的热情永远不会熄灭,在现实平凡中,我们终将上岸,阳光万里
❤️欢迎点赞👍收藏📁评论📒
目录
一、题目和要求
1. 题目
2. 要求
二、实现程序的思路
三、代码及输出效果
1. 代码
2. 输出效果
四、代码用到的知识点
前言
在Python编程中,类和对象是面向对象编程的核心概念之一。通过定义类和创建对象,可以模拟现实世界中的各种实体,并对它们进行操作和修改。
一、题目和要求
1. 题目
编写一个Python程序,定义一个表示矩形的类,并实现以下功能:
- 初始化矩形的宽度和高度。
- 计算矩形的面积和周长。
- 修改矩形的宽度和高度。
- 打印矩形的面积和周长。
2. 要求
- 定义一个名为Rectangle的类,并实现上述功能。
- 在Rectangle类中定义以下方法:
__init__(self, width, height):初始化矩形的宽度和高度。
get_area(self):计算矩形的面积。
get_perimeter(self):计算矩形的周长。
set_dimensions(self, width, height):修改矩形的宽度和高度。
print_dimensions(self):打印矩形的面积和周长。
- 创建一个Rectangle对象,并测试上述功能是否正常工作。
二、实现程序的思路
在Rectangle类中定义一个构造函数__init__(),用于初始化矩形的宽度和高度。定义get_area()和get_perimeter()方法,分别计算矩形的面积和周长。定义set_dimensions()方法,用于修改矩形的宽度和高度。定义print_dimensions()方法,用于打印矩形的面积和周长。创建一个Rectangle对象,并调用其方法以测试功能是否正常工作。
三、代码及输出效果
1. 代码
# 定义一个名为Rectangle的类,用于表示矩形
class Rectangle:# 初始化函数,用于设置矩形的宽度和高度def __init__(self, width, height):self.width = width # 设置矩形的宽度self.height = height # 设置矩形的高度# 计算矩形面积的方法def get_area(self):return self.width * self.height # 返回矩形的面积# 计算矩形周长的方法def get_perimeter(self):return 2 * (self.width + self.height) # 返回矩形的周长# 修改矩形宽度和高度的方法def set_dimensions(self, width, height):self.width = width # 设置新的矩形宽度self.height = height # 设置新的矩形高度# 打印矩形宽度、高度、面积和周长的方法def print_dimensions(self):print("Width:", self.width) # 打印矩形的宽度print("Height:", self.height) # 打印矩形的高度print("Area:", self.get_area()) # 打印矩形的面积print("Perimeter:", self.get_perimeter()) # 打印矩形的周长
# 测试代码,创建一个Rectangle对象并调用其方法
rectangle = Rectangle(5, 10) # 创建一个宽度为5,高度为10的矩形对象
rectangle.print_dimensions() # 打印初始化的矩形尺寸和计算结果
rectangle.set_dimensions(15, 20) # 修改矩形的宽度和高度
rectangle.print_dimensions() # 打印修改后的矩形尺寸和计算结果
2. 输出效果
四、代码用到的知识点
1. 类定义:通过使用class关键字来定义一个名为Rectangle的类,用于表示矩形。
2. 属性:在类中定义了width和height两个属性,分别用来表示矩形的宽度和高度。这些属性通过self.width和self.height来访问和设置。
3. 方法:定义了多个方法来实现不同的功能,包括初始化、计算面积、计算周长、修改尺寸以及打印尺寸和计算结果。
4. 构造函数:__init__方法是一个特殊的方法,用于初始化新创建的对象的状态。在这个例子中,它被用来设置矩形的宽度和高度。
5. 函数和方法:在类中定义函数和方法来执行特定的任务。例如,get_area方法用于计算矩形的面积,get_perimeter方法用于计算矩形的周长,set_dimensions方法用于修改矩形的宽度和高度,print_dimensions方法用于打印矩形的宽度、高度、面积和周长。
6. 封装性:通过定义方法(如get_area、get_perimeter等)来隐藏实现细节,只通过公开的方法来与对象交互。
7. 打印输出:使用print语句来打印信息,例如矩形的宽度、高度、面积和周长。
8. 基本运算:使用乘法和加法等基本数学运算符进行计算,如计算矩形的面积(self.width * self.height)和周长(2 * (self.width + self.height))。
相关文章:

【Python百练——第3练】矩形类及操作
💐作者:insist-- 💐个人主页:insist-- 的个人主页 理想主义的花,最终会盛开在浪漫主义的土壤里,我们的热情永远不会熄灭,在现实平凡中,我们终将上岸,阳光万里 ❤️欢迎点…...
【C语言学习疑难杂症】C语言中数组存储时为什么从低地址到高地址
在C语言中,数组的存储从低地址到高地址是有其历史原因的。这种设计主要是为了与计算机系统的内存组织方式相一致。 在计算机系统中,内存通常按照字节进行编址,地址从低到高递增。数组在内存中是连续存储的,因此数组的第一个元素&…...

Linux:查看端口占用的进程
命令 netstat -tunlp可以从图中看到,端口被那个进程占用,对应进程的pid是多少。...

医美店会员管理系统预约小程序作用是什么
医美在美业中占据着一定地位,爱美使然和经济独立、悦己消费下,不少女性会前往医美机构做脸部整容、嫩肤补水等服务,如美容院一样都是具备本地外地属性的,因此在如今互联网盛行下,商家需要借势线上破解难题及增强生意效…...

Linux 正则表达式
内容概述 1 文本编辑工具之神 VIM 1.1 vi 和 vim 简介 在 Linux 中我们经常编辑修改文本文件,即由 ASCII Unicode 或者其他编码的纯文字的文件。之前介绍过的 nano,实际工具中我们使用更为专业,功能强大的工具 文本编辑种类: vi…...
C语言面试之数组指针上篇
C语言数组是C语言中重要的数据结构之一,它用于存储一组相同类型的数据。数组在C语言中是以连续的内存空间来存储的,每个数组元素都是一个变量,占据一定的内存空间,数组元素之间是紧密相邻的。 一、数组的定义 在C语言中࿰…...

LinkWeChat,唯一以开源为核心的SCRM
LinkWeChat是国内首个基于企业微信的开源SCRM,在集成了企微强大的开放能力的基础上,进一步升级拓展灵活高效的客户运营能力及多元化精准营销能力,让客户与企业之间建立强链接,帮助企业提高客户运营效率,强化营销能力&a…...

Android textView 显示: STRING_TOO_LARGE
在Android中,字符串资源的长度限制是32KB,getString()方法返回的字符串资源的大小超过这个限制,就会抛出STRING_TOO_LARGE 这个错误。 我本地的临界值是:32.3 KB (33,090 字节) 小于等于33090时,能正常显示ÿ…...

用HeidiSQL在MySQL中创建新的数据库
用有权限的用户登录: 右键单击,选择: 输入要创建的数据库名称,然后点击“确定”: 刷新下,就看到新创建的数据库了: 在新创建的数据库中,就可以做其它操作了,例如…...
纯前端实现导入excel数据
准备工作 - 下载 xlsx npm install xlsx下面直接上代码👇 <template><div><input type"file" accept".xlsx, .xls" change"handleClick"></div> </template><script langts setup> import * a…...

Matlab下载许可证文件 教程(在账号有许可证的前提下)
文章目录 Part.I IntroductionPart.II 许可证文件过期解决方案Chap.I 使用 Internet 自动激活Chap.II 在不使用 Internet 的情况下手动激活 Part.I Introduction 本文主要介绍,在 Mathwork 账号有许可证的前提下,下载许可证的操作流程。 好久没有用 Mat…...

AI 绘画 | Stable Diffusion 电商模特
前言 上一篇文章讲到如何给人物更换背景和服装。今天主要讲电商模特,就是服装电商们的固定服装产品图片如何变成真人模特穿上的固定服装产品效果图。如果你掌握了 《AI 绘画 | Stable Diffusion 人物 换背景|换服装》,这篇文章对你来说,上手会更轻松。 教程 提取服装蒙版…...
vue面试题整理(1.0)
一、对MVC,MVP,MVVM的理解 三者都是项目的架构模式(不是类的设计模式),即:一个项目的结构,如何分层,不同层负责不同的职责。 1.MVC MVC的出现是用在后端(全栈时代&…...

PyQt基础_007_ 按钮类控件QCombox
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class ComboxDemo(QWidget):def __init__(self, parentNone):super(ComboxDemo, self).__init__(parent)self.setWindowTitle("combox 例子") self.resize(300, 90) …...
Android Wifi的扫描机制
Android Wifi 的扫描场景分为下面四种情况: 1.亮屏情况下,在Wifi settings界面,固定扫描,扫描时间为10s。 2.亮屏情况下,在非Wifi settings界面,二进制指数退避扫描,退避:interval…...

类 —— 友元、常/静态成员函数
类 类的大小 和结构体大小求法一致。但需注意,普通空类也会占用 1 字节大小,因为普通空类可以实例化对象。 而 抽象空类占 4 字节(32 位机中),因为抽象空类中含有虚指针(含有虚函数的非抽象空类同理&am…...
单页面应用
单页面应用 1.什么是SPA 多页面应用:每个页面都是独立的html文件,页面切换是整体刷新,需要重新加载html、css、JS等文件,容易实现搜索引擎,数据通过url、cookie、localStore传递。 单页面应用:多个页面是…...

六、ZooKeeper Java API操作
目录 1、引入maven坐标 2、节点的操作 这里操作Zookeeper的JavaAPI使用的是一套zookeeper客户端框架 Curator ,解决了很多Zookeeper客户端非常底层的细节开发工作 。 Curator包含了几个包:...

美甲美睫店预约会员管理小程序作用如何
美甲美睫是美业中较为重要的类目,主要以小摊、门店/连锁形式,随着线上化程度加深,传统线下美业店面临着困境,想要进一步增长及解决痛点,就需要线上数字化运营得到更多生意。 那么通过【雨科】平台搭建美甲美睫店小程序…...
Vue3为什么会推出组合式API
前言 大学前端入门学的vue2,工作了又用的React,现在想学习一下Vue3,开篇就介绍了组合式API,这和我认知里的vue2的选项式API区别还是蛮大的。本篇文章简单介绍一下组合式API。 什么是组合式API Vue 3引入了一种新的 API…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...