-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog: def __init__(self,name,gender,breed): self.name = name self.gender = gender self.breed = breed def method(self,name="张贱豪"): print("叫唤") class human: def __init__(self,name,gender,breed): self.name = name self.gender = gender self.breed = breed def method(self,name="张贱豪"): print("整不会了")
-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class rectangle: def __init__(self, length, width): self.length = length self.width = width def perimeter(self): return (self.length + self.width) * 2 def area(self): return self.length * self.width fang1 = rectangle(5, 10) print(fang1.area()) print(fang1.perimeter())
-
定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class point: def __init__(self, x,y): self.x = x self.y = y def distance(self): return (self.x**2+self.y**2)**0.5 p1 = point(3,4) print(p1.distance())
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Circle: # 类属性 pi = 3.1415926 def __init__(self,r, x=0, y=0): 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 # @staticmethod def exocut(c1, c2): return True if ((c1.x - c2.x) ** 2 + (c1.y - c2.y) ** 2) ** 0.5 == c1.r + c2.r else False r1 = Circle(3, 2, 7) print(r1.r) r2 = Circle(3, 3, 1) r3 = Circle(3,2,1) print(Circle.exocut(r2,r3)) print(r1.exocut(r3))
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class line: def __init__(self, s_point, e_point): self.s_point = s_point self.e_point = e_point def distance(self): return ((self.s_point[0] - self.e_point[0]) ** 2 + (self.s_point[1] - self.e_point[1]) ** 2) ** 0.5 l1 = line((0, 0), (3, 4)) print(l1.distance())
day17-面向对象作业
最新推荐文章于 2022-10-31 22:23:00 发布