python面向对象编程指南,Python语言是一种面向对象的程序设计语言
这篇文章主要介绍了计算机编程语言面向对象的程序设计详情,面向对象的程序设计在计算机编程语言中具有非常重要的地位,熟练的使用面向对象编程能够为我们的计算机编程语言编程提供很多的便利之处,希望您阅读完本文后能够有所收获
1. 设计一个圆类,包括圆心位置、半径、颜色等属性。编写构造方法, 计算周长和面积。
导入数学
班级圈:
def __init__(self,o,r,color):
self.o=o
self.r=r
自我颜色=颜色
定义长度(自身): #周长
C=math.pi*self.r*2
返回英语字母表中第三个字母
定义区域(自身): #面积
S=math.pi*self.r**2
返回秒
if __name__==__main__:
r=eval(输入(请输入半径:))
circle=Circle((0,0),r, blue) #坐标、半径、颜色
C=圆形长度()
S=circle.area()
打印(圆周长为:{:2f} .格式(C))
打印(圆面积为:{:2f} .格式)
2. 设计一个描述自由落体运动的类,要求能获得任意时刻的速度及位移,并进行测试。已知重力加速度为 9.8m/s。
无类别:
def __init__(self,t):
self.t=t
def getv(self): #速度函数
v=9.8*self.t
返回英语字母表中第二十二个字母
def getx(self): #位移函数
x=0.5*9.8*self.t**2
返回x
if __name__==__main__:
t=eval(输入(请输入时刻t:))
f=自由(t) #调用
打印( t={}时刻的. format(t),end=“”)
打印(速度为:{:2f} .格式(f.getv()))
打印( t={}时刻的. format(t),end=“”)
打印(位移为:{:2f} .格式(f.getx()))
3. 为二次方程式 ax+bx+c=0 设计一个名为 Equation 的类,这个类包括:
代表3个系数的成员变量甲、乙、丙;一个参数为甲、乙、丙的构造方法;一个名为getDiscriminant1的方法返回判别式的值;一个名为getRoot1和getRoot2的方法返回等式的两个根,如果判别式为负,这些方法返回0。导入数学
阶级方程式:
def __init__(self,a,b,c):
self.a=a
self.b=b
self.c=c
def get discriminal 1(self): #判别式
d=(self.b)**2 -(4*self.a*self.c)
返回拥有
def getRoot1(self):
如果自我。get discriminal 1()=0:
x1=(-self。b数学。sqrt(self。get discriminal 1())/2 * self。一
返回x1
else:
返回0
def getRoot2(self):
如果自我。get discriminal 1()=0:
x2=(-自我。b数学。sqrt(self。get discriminal 1())/2 * self。一
返回x2
else:
返回0
if __name__==__main__:
a=eval(输入
t("请输入系数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面向对象的程序设计详情的文章就介绍到这了,更多相关Python面向对象的程序设计内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。