【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…...
灵毓秀-牧神-造相Z-Turbo进阶玩法:结合提示词生成不同风格的灵毓秀
灵毓秀-牧神-造相Z-Turbo进阶玩法:结合提示词生成不同风格的灵毓秀 1. 认识灵毓秀-牧神-造相Z-Turbo 1.1 模型特点概述 灵毓秀-牧神-造相Z-Turbo是一款基于Xinference部署的专用文生图模型,专注于生成《牧神记》中灵毓秀这一角色的高质量图像。相比通…...
SEO 页面优化平台如何分析竞争对手的优化情况
SEO 页面优化平台如何分析竞争对手的优化情况 在当前竞争激烈的互联网环境中,SEO(搜索引擎优化)已经成为每个网站的生存和发展的关键。而在这其中,SEO 页面优化平台的角色尤为重要。通过对竞争对手的优化情况进行深入分析&#x…...
国行iPhone Siri功能意外上线又撤回,背后暗藏玄机
iPhone“Siri”变身“Apple智能与Siri”,意外功能短暂亮相3月31日凌晨,部分国行iPhone用户惊喜发现,手机设置中的“Siri”入口悄然变更为“Apple智能与Siri”,同时还短暂解锁了端侧模型下载及AI功能。不过,这一新鲜体验…...
Element Plus访问优化指南:从卡顿到流畅的开发体验提升方案
Element Plus访问优化指南:从卡顿到流畅的开发体验提升方案 【免费下载链接】element-plus 🎉 A Vue.js 3 UI Library made by Element team 项目地址: https://gitcode.com/GitHub_Trending/el/element-plus 在前端开发过程中,你是否…...
别再手动调参了!用GCNet模块给你的ResNet模型一键注入全局感知能力(附PyTorch代码)
全局感知能力升级:用GCNet模块为ResNet模型注入高效注意力机制 在计算机视觉领域,ResNet架构因其出色的性能和稳定性成为众多任务的基准模型。然而,随着注意力机制的兴起,传统卷积神经网络在长距离依赖建模上的局限性逐渐显现。本…...
2021热门电子制作项目解析与实战指南
1. 电子制作项目概述今天想和大家分享几个来自New Top 3 Electronic Projects 2021的趣味电子制作项目。这些项目不仅电路设计巧妙,而且视觉效果惊艳,完美诠释了"电路与艺术结合"的理念。作为一名电子爱好者,我特别喜欢这类既有技术…...
无损视频剪辑终极指南:如何用LosslessCut保持原始画质快速编辑
无损视频剪辑终极指南:如何用LosslessCut保持原始画质快速编辑 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在视频编辑的世界里,质量与速度…...
Phi-4-mini-reasoning实战案例:用supervisorctl重启服务解决502错误
Phi-4-mini-reasoning实战案例:用supervisorctl重启服务解决502错误 1. 问题场景描述 最近在部署Phi-4-mini-reasoning推理服务时,遇到了一个典型问题:Web界面突然返回502错误,导致用户无法正常使用推理功能。作为一款专注于数学…...
ofa_image-caption_coco_distilled_en快速部署教程:7860端口WebUI调用全流程详解
ofa_image-caption_coco_distilled_en快速部署教程:7860端口WebUI调用全流程详解 本文介绍如何快速部署和使用ofa_image-caption_coco_distilled_en模型,这是一个专门用于为图片生成英文描述的AI系统。通过简单的Web界面,任何人都能轻松上传图…...
CBF文件:统一刷写流程的密钥与工程实践
1. CBF文件:汽车电子刷写的"万能钥匙" 第一次接触CBF文件是在2018年参与某新能源车厂的项目时。当时产线上几十种ECU(电子控制单元)需要刷写,每个供应商提供的刷写包格式五花八门——有的用HEX文件,有的用S1…...
