当前位置: 首页 > news >正文

Python实验项目4 :面对对象程序设计

1:运行下面的程序,回答问题。

(1)说明程序的执行过程;

2)程序运行结果是什么?

# (1)说明程序的执行过程;
# (2)程序运行结果是什么?
# demo1101.py
class FatherClass:value = 100  # 类属性def function1(self):print("self.value=", self.value)print("FatherClass.value=", FatherClass.value)class ChildClass(FatherClass):value=200 #类属性def function1(self):super().function1()print("super().value=",super().value)print("self.value=",self.value)print("ChildClass.value=", ChildClass.value)#主控程序
cc=ChildClass()
cc.function1()
print("用对象访问,cc.value=",cc.value)
print("用类访问,ChildClass.value=",ChildClass.value)
 (1)使用 super()函数调用父类中的属性和方法的程序。 使用 super().function1()语句,调用父类的 function1()方法,此时父类尚未初始化, 第 5 self.value 的值为子类的 value 200。父类的 function1()方法执行后返回,在子类 ChildClass 中继承执行第 12 行,输出父类的 value 值和子类的 value 值。第 14 行用类名 ChildClass 访问子类自己的 value 值。 最后两行分别用对象名和类名访问子类的 value 值。
(2)运行结果如下:

2:编写程序,重点理解构造方法在继承中的运用。

要求:编写 Person 类,其具有 nameagesex 等属性。继承于 Person 类的 Teacher 类,具 有 titlequalitysalaryprize 等属性。显示这些属性,并计算 salaryprize 之和。

# 要求:编写 Person 类,其具有 name、age、sex 等属性。
# 继承于 Person 类的 Teacher 类,具 有 title、quality、salary、prize 等属性。
# 显示这些属性,并计算 salary、prize 之和。
class Person:name: str=Noneage: int=Nonesex: str=Nonedef __init__(self,name: str,age: int,sex: str):self.name=nameself.age=ageself.sex=sexdef print(self):print("name:" + self.name)print("age:" + str(self.age))print("sex:" + self.sex)class Teacher(Person):title=Nonequality=Nonesalary=Noneprize=Nonedef __init__(self,person:Person,title:str,quality:str,salary:int,prize:int):super().__init__(person.name,person.age,person.sex)self.title=titleself.quality=qualityself.prize=prizeself.salary=salarydef print(self): # 同名函数会继承父类的执行语句并且加上子类独有的语句super().print()print("title:"+self.title)print("quality:"+self.quality)print("salary:"+str(self.salary))print("prize:"+str(self.prize))def sum(self):return self.salary+self.prize
# 创建对象
person = Person("周杰伦",18,"男")
t=Teacher(person,"音乐系","流行音乐",20000,2000)
t.print()
print("sum:",t.sum())
 执行结果:

3:设计并测试一个表示一个点的 MyPoint 类。

要求:该类包括以下属性:

x:点的横坐标。

y:点的纵坐标。

包括如下方法:

__init__() (self, x, y):构造方法,创建对象的同时为属性 xy 赋初值。

getX():获得点的横坐标。

getY():获得点的纵坐标。

getDdistance (self,p):返回当前点与点 p 之间的距离。

# 3:设计并测试一个表示一个点的 MyPoint 类。
# 要求:该类包括以下属性:
# x:点的横坐标。
# y:点的纵坐标。
# 包括如下方法:
# __init__() (self, x, y):构造方法,创建对象的同时为属性 x、y 赋初值。
# getX():获得点的横坐标。
# getY():获得点的纵坐标。
# getDdistance (self,p):返回当前点与点 p 之间的距离。
class MyPoint:x:int=Noney:int=Nonedef __init__(self,x:int,y:int):self.x=xself.y=ydef getX(self)->int:return self.xdef getY(self)->int:return self.ydef getDistance(self,p)->float:return ((p.x-self.x)**2+(p.y-self.y)**2)**0.5point1 = MyPoint(0, 0)
point2= MyPoint(3, 4)
print(point1.getDistance(point2))
执行结果:

 

4:设计一个描述自由落体运动的类,要求能获得时刻的速度和位移,并进行测试。已知重力加速度为9.8m/s。 

 

# 4:设计一个描述自由落体运动的类,要求能获得时刻的速度和位移,并进行测试。已知重力加速度为9.8m/s。
# v=v0+gt s=v0t+1/2gt2
class FreeFall:g = 9.8v0 = 0t = 0s = 0v = 0def __init__(self, v0, t):self.v0 = v0self.t = tself.s=v0*t+1/2*self.g*t**2self.v=v0+self.g*tdef get_s(self):return self.sdef get_v(self):return self.vdef __str__(self):return "s="+str(self.s)+",v="+str(self.v)v0= eval(input("请输入初速度:"))
t = eval(input("请输入时间:"))
fall = FreeFall(v0,t)
print(f"该自由落体运动经过{t}的时间的位移为:",fall.get_s())
print(f"该自由落体运动经过{t}的时间的速度为:",fall.get_v())
print(fall.__str__())
 执行结果:

 

 

 

 

 

相关文章:

Python实验项目4 :面对对象程序设计

1:运行下面的程序,回答问题。 (1)说明程序的执行过程; (2)程序运行结果是什么? # (1)说明程序的执行过程; # (2)程序运行…...

用html、css和jQuery实现图片翻页的特效

在当今的web设计中,图片翻页特效是一种常见而且受欢迎的技术。通过图片的切换与过渡效果,能够使网页更具动感和吸引力。下面写一个简单的示例,来介绍一下如何使用html、css和jQuery实现图片翻页特效。 1,html结构 首先&#xff…...

awk 框架

参考自:https://zhuanlan.zhihu.com/p/627048291?utm_id0语法,由几部分组成 awk [options] script varvalue file(s) awk [options] -f scriptfile varvalue file(s)语法中的script部分,由两部分组成 模式操作 其中一个模式:B…...

专业135总分400+西安交通大学信息与通信工程学院909/815考研经验分享

今年初试发挥不错,400,专业课135,将近一年复习一路走来,感慨很多,希望以下经历可以给后来的同学提供一些参考。 初试备考经验 公共课:三门公共课,政治,英语,数学。在备考…...

在 Windows 用 Chrome System Settings 设置代理

在 Windows 用 Chrome System Settings 设置代理 贴心提示:在设置代理之前,请确保您已经安装了 浏览器。 🔧 设置代理的详细步骤如下: 打开 浏览器,输入 //settings/system 并回车。 在「系统和网络设置」页面中&am…...

Excel多线程导入数据库

文章目录 Excel多线程导入数据库1. CountDownLatch2.多线程导入数据库 Excel多线程导入数据库 书接上文 Excel20w数据5s导入 1. CountDownLatch CountDownLatch 维护了一个计数器,初始值为指定的数量。当一个或多个线程调用 await() 方法时,它们会被阻…...

Linux开机默认进入命令行或图形化模式

开机默认进入命令行 sudo systemctl set - default multi-user.target 执行上面命令后重新启动 reboot开机默认进入图形化界面 sudo systemctl set - default graphical.target 执行上面命令后重新启动 reboot或者 先进入root之后 su 在执行 systemctl set - default …...

ajax请求的时候get 和post方式的区别?

在 AJAX 请求中,GET 和 POST 是两种常用的请求方法,它们在发送请求时有一些区别: GET 请求: GET 请求用于向服务器请求获取指定资源,请求参数会附加在 URL 的末尾,以查询字符串的形式出现。GET 请求将请求…...

还不知道光场相机吗?

1.什么是光场? 光场(light field):就是指光在每一个方向通过每一个点的光量。 从概念里,你至少可以得到两点信息: 光场包含光的方向光场包含一个点的光量 2.什么是光场相机 我们知道普通的相机拍照成像…...

软信天成:助力某制造企业建设产品主数据管理平台案例分享

某国有大型传统制造企业是一家跨领域、跨行业经营的国际化公司,在全球范围内拥有动力系统、工程机械、汽车制造等多个业务板块、分子公司遍及世界、产品远销110多个国家和地区,产品品类繁多,分支架构错综复杂。 近年来,数字化的深…...

C#WPFPrism框架导航应用实例

本文实例演示C#WPFPrism框架导航应用实例。 一、导航实现步骤 首先创建WPF项目,修改App相关文件内容,以便使用prism。 承接上一个模块化的实例,在这个基础上更改增加导航功能。 1.1首先在ModuleA中添加ViewModels文件夹,添加ViewAViewModel.cs类 如果想上下文自动查找…...

Centos安装gitlabce

服务器配置要求(2c4g) 1、 安装其他组件 yum install -y curl policycoreutils-python openssh perl2、 安装Postfix服务以发送电子邮件通知,启动服务并自启 yum -y install postfix systemctl enable postfix --now3、 安装gitlab&#xf…...

android8.1- Show virtual keyboard 默认打开

修改路径&#xff1a;android-8.1\frameworks\base\packages\SettingsProvider\res\values\defaults.xml 将 &#xff1a;<bool name"def_show_ime_with_hard_keyboard">false</bool> 改成 &#xff1a;true <!-- Default for Settings.Secure.MULTI_…...

打印机连接网络后怎么安装驱动?

打印机在我们办公和生活中算是比较常见的设备&#xff0c;特别是在上班时需要时常打印各种文件&#xff0c;但是有时电脑上的打印机也会有无法打印的问题&#xff0c;或者新买的打印机需要先安装驱动才能正常打印的。 那么这个时候我们需要先检查电脑上的打印机是否有安装驱动&…...

光流法动目标检测

目录 前言 一、效果展示 二、光流法介绍 三、代码展示 总结 前言 动目标检测是计算机视觉领域的一个热门研究方向。传统的方法主要基于背景建模&#xff0c;但这些方法对于光照变化、遮挡和噪声敏感。因此&#xff0c;研究人员一直在寻找更加鲁棒和有效的技术来解决这一问题。…...

【机器学习合集】泛化与正则化合集 ->(个人学习记录笔记)

文章目录 泛化与正则化1. 泛化(generalization)2. 正则化方法2.1 显式正则化方法显式正则化方法对比提前终止模型的训练多个模型集成Dropout技术 2.2 参数正则化方法2.3 隐式正则化方法方法对比 泛化与正则化 1. 泛化(generalization) 泛化不好可能带来的问题 模型性能不稳定容…...

软考高级之系统架构师之数据流图和流程图

数据流图 概述 数据流图&#xff0c;DFD&#xff0c;用于表示业务信息系统中的数据流&#xff0c;它表达系统中的据传从输入到存储间所涉及的程序。采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程&#xff0c;是结构化系统分析方法的主要表达工具…...

CVPR2023新作:基于组合空时位移的视频修复

Title: A Simple Baseline for Video Restoration With Grouped Spatial-Temporal Shift (视频修复的简单基准&#xff1a;组合空时位移) Affiliation: CUHK MMLab (香港中文大学多媒体实验室) Authors: Dasong Li, Xiaoyu Shi, Yi Zhang, Ka Chun Cheung, Simon See, Xiaoga…...

我的Windows10下的WSL的使用经历

微软每年都会举办Build开发者大会&#xff0c;近年来越来越受关注的Linux 子系统Windows Subsystem for Linux&#xff08;WSL&#xff09;已经很完善了&#xff0c;我抱着体验一把的心态&#xff0c;也来使用一下这个功能。 各位新手Linux朋友们&#xff0c;有没有想过怎么在…...

人声分离神仙网站,用过都说好~

在生活中好听的音乐有千千万的&#xff0c;音乐是非常容易可以找到下载下来的&#xff0c;但是背景音乐相当不容易找的&#xff0c;我们看的某短视频的背景音乐我们觉得不错的&#xff0c;想要下载下来的时候&#xff0c;我们都会无从下手不知道如何才可以找到这个相关的背景音…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

恶补电源:1.电桥

一、元器件的选择 搜索并选择电桥&#xff0c;再multisim中选择FWB&#xff0c;就有各种型号的电桥: 电桥是用来干嘛的呢&#xff1f; 它是一个由四个二极管搭成的“桥梁”形状的电路&#xff0c;用来把交流电&#xff08;AC&#xff09;变成直流电&#xff08;DC&#xff09;。…...