当前位置: 首页 > 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;我们都会无从下手不知道如何才可以找到这个相关的背景音…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storms…...

日常一水C

多态 言简意赅&#xff1a;就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过&#xff0c;当子类和父类的函数名相同时&#xff0c;会隐藏父类的同名函数转而调用子类的同名函数&#xff0c;如果要调用父类的同名函数&#xff0c;那么就需要对父类进行引用&#…...

【Linux】自动化构建-Make/Makefile

前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具&#xff1a;make/makfile 1.背景 在一个工程中源文件不计其数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;mak…...

海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》

近日&#xff0c;嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》&#xff0c;海云安高敏捷信创白盒&#xff08;SCAP&#xff09;成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天&#xff0c;网络安全已成为企业生存与发展的核心基石&#xff0c;为了解…...

小智AI+MCP

什么是小智AI和MCP 如果还不清楚的先看往期文章 手搓小智AI聊天机器人 MCP 深度解析&#xff1a;AI 的USB接口 如何使用小智MCP 1.刷支持mcp的小智固件 2.下载官方MCP的示例代码 Github&#xff1a;https://github.com/78/mcp-calculator 安这个步骤执行 其中MCP_ENDPOI…...