-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog: def __init__(self,name,gender,variety): self.name = name self.gender = gender self.variety = variety def bark(self): print(f'{self.name}在汪汪叫') class Person: def __init__(self,name,age): self.name = name self.age = age def work_dog(self, dog): print(f'{self.name}带着她的狗{dog.name}去遛弯了。') people1 = Person('lvy',22) people1.work_dog(Dog('旺财','公','柯基')) # 个人觉得狗不应该当人的属性,除非是养狗人这种特殊情况才应该用狗当属性。
-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rectangle: def __init__(self, length, width): self.length = length self.width = width def area(self): return self.length * self.width def perimeter(self): return 2 * (self.length + self.width) rectangle1 = Rectangle(10, 5) print(f"这个长方形的面积是{rectangle1.area()}平方米,周长是{rectangle1.perimeter()}米")
-
定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Point: def __init__(self, x, y): self.x = x self.y = y def distance(self, point2): dis = ((point2.x - self.x) ** 2 + (point2.y - self.y) ** 2) ** 0.5 return dis p1 = Point(45, -7) print(f"当前点到另外一个点的距离为{p1.distance(Point(45, 45))}")
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Circle: def __init__(self, radius, center): self.radius = radius self.center = center def circumscribed(self, circle2): dis = ((circle2.center[0] - self.center[0]) ** 2 + (circle2.center[1] - self.center[1]) ** 2) ** 0.5 if dis == circle2.radius + self.radius: return True else: return False circle1 = Circle(3, (0, 4)) if circle1.circumscribed(Circle(2, (3, 0))): print('~这两个圆是外切圆~') else: print('!这两个圆不是外切圆!')
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Line: def __init__(self, start, end): self.start = start self.end = end def length(self): return ((self.start[0] - self.end[0]) ** 2 + (self.start[1] - self.end[1]) ** 2) ** 0.5 line1 = Line((0, 4), (3, 0)) print(f"这条线段的长度是{line1.length()}米")
day17-面向对象作业
最新推荐文章于 2022-10-08 17:06:50 发布