千家信息网

Python面向对象中程序设计的示例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下Python面向对象中程序设计的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 设计一个圆类
千家信息网最后更新 2026年11月03日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安全错误 数据库的锁怎样保障安全 疫情对互联网科技公司影响 互联网中国科技 中国互联网科技发展 奇士达互联网科技 互联网养老 桔豆科技 互联网 科技馆 阿里互联网科技公司 互联网企业和科技型企业 互联网科技革命什么开始 和信科技工业互联网 米聚互联网科技南京有限公司排面 内蒙古九一互联网科技 沐思想互联网科技有限公司 元气玛特互联网科技公司是外包吗 互联网公司高科技产品 互联网营销推广黑科技 信承诺互联网科技有限公司 广州梦谷互联网科技有限公司领导 互联网金融运营模式中的金融科技 长沙易易互联网科技有限公司 互联网络科技 狮子座互联网科技 卓越科技(互联网 ) 智慧科技互联网 互联网公司会议桌创意科技软装饰 博兴的互联网电子科技公司 华服互联网科技官网 互联网相关科技技术 济南小医互联网科技有限公司招聘 普陀区互联网教育科技管理办法
0