Python面向对象中程序设计的示例分析
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,小编给大家分享一下Python面向对象中程序设计的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 设计一个圆类
千家信息网最后更新 2025年11月13日Python面向对象中程序设计的示例分析
小编给大家分享一下Python面向对象中程序设计的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1. 设计一个圆类,包括圆心位置、半径、颜色等属性。编写构造方法, 计算周长和面积。
import mathclass Circle: def __init__(self,o,r,colour): self.o = o self.r = r self.colour = colour def length(self): #周长 C = math.pi*self.r*2 return C def area(self): #面积 S = math.pi*self.r**2 return S if __name__ == "__main__": r=eval(input("请输入半径:")) circle = Circle((0,0),r,'blue') #坐标、半径、颜色 C = circle.length() S = circle.area() print('圆周长为:{:.2f}'.format(C)) print('圆面积为:{:.2f}'.format(S))2. 设计一个描述自由落体运动的类,要求能获得任意时刻的速度及位移,并进行测试。已知重力加速度为 9.8m/s。
class Free: def __init__(self,t): self.t = t def getv(self): #速度函数 v=9.8*self.t return v def getx(self): #位移函数 x=0.5*9.8*self.t**2 return x if __name__ == "__main__": t=eval(input("请输入时刻t:")) f=Free(t) #调用 print("t={} 时刻的".format(t),end='') print("速度为:{:.2f}".format(f.getv())) print("t={} 时刻的".format(t),end='') print("位移为:{:.2f}".format(f.getx()))3. 为二次方程式 ax²+bx+c=0 设计一个名为 Equation 的类,这个类包括:
代表 3 个系数的成员变量 a、b、c;
一个参数为 a、b、c 的构造方法;
一个名为 getDiscriminant1 的方法返回判别式的值;
一个名为
getRoot1和getRoot2的方法返回等式的两个根, 如果判别式为负,这些方法返回0。
import mathclass Equation: def __init__(self,a,b,c): self.a = a self.b = b self.c = c def getDiscriminant1(self): #判别式 d=(self.b)**2 -(4*self.a*self.c) return d def getRoot1(self): if self.getDiscriminant1()>=0: x1=(-self.b+math.sqrt(self.getDiscriminant1()))/2*self.a return x1 else: return 0 def getRoot2(self): if self.getDiscriminant1()>=0: x2=(-self.b+math.sqrt(self.getDiscriminant1()))/2*self.a return x2 else: return 0 if __name__ == "__main__": a=eval(input("请输入系数a:")) b=eval(input("请输入系数b:")) c=eval(input("请输入系数c:")) f=Equation(a,b,c) print("判别式:",f.getDiscriminant1()) print("根1:",f.getRoot1()) print("根2:",f.getRoot2())4. 设计一个二维向量类,实现向量的加法、减法及向量与标量的乘法和除法运算,其中要求输入是元组。
class Vector: def __init__(self,a,b): self.a = a self.b = b def jia(self): c1 = (self.a[0] + self.b[0]) c2 = (self.a[1] + self.b[1]) return (c1,c2) def jian(self): c1 = (self.a[0] - self.b[0]) c2 = (self.a[1] - self.b[1]) return (c1,c2) def diancheng(self): c1 = (self.a[0] * self.b[0]) c2 = (self.a[1] * self.b[1]) return c1+c2 #向量无除法 if __name__ == "__main__": a=eval(input("请输入向量a:")) b=eval(input("请输入向量b:")) f=Vector(a,b) print(" 加:",f.jia()) print(" 减:",f.jian()) print("点乘:",f.diancheng())5. 设计一个课程类,包括课程编号、课程名称、任课教师、上课地点 等属性,把上课地点变量设为私有的,增加构造方法和显示课程信息的方法。
class Course: def __init__(self,Cno,Cname,teacher,local): self.Cno = Cno self.Cname = Cname self.teacher = teacher self.__local =local #把上课地点变量设为私有的 def information(self): print("课程编号:",self.Cno) print("课程名称:",self.Cname) print("任课教师:",self.teacher) print("上课地点:",self.__local) if __name__ == "__main__": f=Course('NO.','what','who','where') f.information()6. 设计一个整形数组的封装类,要求实现下列功能:
显示全部数组数据
显示从某位置开始的一段连续数组数据。
import randomclass List: def __init__(self,lis): self.__lis=lis def quanbu(self): #全部数组数据 return self.__lis def bufen(self,id): #从部分位置开始的一段连续数组数据 return self.__lis[id:] f=List([random.randint(1,51) for i in range(20)]) #设置数组为20个1-50的随机数组合print("显示全部数组数据:",f.quanbu()) random_index = random.randint(0,21) #随机选取从某一位置开始的索引号print("显示从<第{}>位置开始的一段连续数组数据:".format(random_index),f.bufen(random_index))以上是"Python面向对象中程序设计的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
设计
数组
输入
方法
向量
数据
课程
位置
判别式
地点
时刻
系数
判别
半径
变量
篇文章
速度
面积
对象
示例
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
华为摄像头连接服务器显示屏
软件开发原型图谁来画
征途服务器名
微博私信群发软件开发
欧洲网络安全事件
甘肃浪潮服务器维修费用
网页服务器地址和端口是什么
简述关系的六个性质数据库技术
陕西软件开发方案
海明控股软件开发
软件开发中经常遇到的难题
公安网络安全产品名单目录
中科互联网科技有限
机械设计数据库
石林信息化软件开发价格信息
春考网络技术技能真题
小学网络安全讲座感想
怎么将数据库挪盘
食品数据库发文章
如何保证数据库的安全性
数据库考试题桂林理工大学
访问数据库的表可以放在公共盘吗
制作服务器环境
得物近十年遇到的网络安全问题
我国网络安全现状 形势
中科互联网科技有限
实验小鼠数据库
神力科莎无法连接到远程服务器
全球网络技术大会2017
普陀区数据链网络技术价格对比