-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog: def __init__(self, name, gender=None, breed): self.name = name self.gender = gender self.breed = breed @staticmethod def func1(): print('叫唤') class Human: def __init__(self,name, age, dog=None): self.name=name self.age=age self.dog=dog @staticmethod def func2(): if self.dog: print(f'{self.name}遛{self.dog}') else: print('没有狗')
-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rect: def __init__(self, width=0, height=0): self.width = width self.height = height。 def area(self): return self.width * self.height def perimeter(self): return self.width*2+self.height*2
-
定义一个二维点类,拥有属性:x坐标、y坐标
拥有方法:求当前点到另外一个点的距离
class Point: def __init__(self,x=0, y=0): self.x = x self.y = y def distance(self,other): result = ((self.x-other.x)**2 + (self.y-other.y) **2 )**0.5 print('两个点的距离是:',f'{result:.2f}') return result p1=Point(20,30) p2=Point(40,50) p1.distance(p2)
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Circle: pi = 3.1415926 def __init__(self,r=0,x=0,y=0): """ :param r: 半径 :param x: 圆心x坐标 :param y: 圆心y坐标 """ self.r = r self.x = x self.y = y def area(self): return Circle.pi * self.r ** 2 def perimeter(self): return 2 * Circle.pi * self.r def tangent(self,cir): if ((self.x-cir.x)**2 + (self.y-cir.y) **2 )**0.5 == self.r+cir.r: print('这两个圆外切') else: print('不外切') return r1 = Circle(5,0,0) r2 = Circle(5,10,0) print(r1.tangent(r2))
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Line: def __init__(self,sx=0,sy=0,ex=0,ey=0): self.sx = sx self.sy = sy self.ex = ex self.ey = ey def lenth(self): result = ((self.sx - self.ex)**2 + (self.sy - self.ey)**2)**0.5 print(f'{result:.2f}') return result
day17-面向对象作业
最新推荐文章于 2024-10-02 10:53:34 发布