-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
# 狗 class Dog: def __init__(self,name,gender,breed): self.name = name self.gender = gender self.breed = breed def bark(self): print(f'{self.name}:汪汪汪!') def __repr__(self): return str(self.__dict__) dog = Dog('大黄','公','土狗') print(dog) dog.bark() # 人类 class Person: def __init__(self,name,age,dog): self.name = name self.age = age self.dog = dog def walk_dog(self): print(f'{self.name}牵着{self.dog.name}在散步') def __repr__(self): return str(self.__dict__) person = Person('小明',19,dog) print(person) person.walk_dog()
-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
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 rec = Rectangle(4,3) print(rec.perimeter()) print(rec.area())
-
定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Point: def __init__(self,x,y): self.x = x self.y = y def point_distance(self,other): return ((self.x-other.x)**2 + (self.y-other.y)**2)**(1/2) p1 = Point(0,0) p2 = Point(3,4) distance = p2.point_distance(p1) print(distance)
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Circle: pi = 3.1415926 def __init__(self, r, x, y): self.r = r self.x = x self.y = y def area(self): return Circle.pi * self.r ** 2 def perimeter(self): return Circle.pi * self.r * 2 def externally_tangent(self,other): distance = ((self.x-other.x)**2 + (self.y-other.y)**2)**(1/2) if distance == self.r + other.r: print('外切') else: print('不外切') c1 = Circle(3,0,0) c2 = Circle(1,4,0) print(c1.perimeter()) print(c1.area()) c1.externally_tangent(c2)
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Line: def __init__(self, p1, p2): self.p1 = p1 self.p2 = p2 def get_lenth(self): return ((self.p1.x - self.p2.x) ** 2 + (self.p1.y - self.p2.y) ** 2) ** (1 / 2) length = Line(Point(0, 0), Point(3, 4)) print(length.get_lenth())
day18-面向对象作业
最新推荐文章于 2022-10-15 17:19:02 发布