-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
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.width * self.width r1 = Rectangle(5, 3) print('r1的周长:', r1.perimeter()) print('r1的面积:', r1.area())
-
定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Point: def __init__(self, x=0, y=0): self.x = x self.y = y def distance(self, other): return ((self.x-other.x)**2 + (self.y-other.y)**2)**0.5 p1 = Point() p2 = Point(1, 1) print('两点之间的距离为:', p2.distance(p1))
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Point: def __init__(self, x=0, y=0): self.x = x self.y = y def distance(self, other): return ((self.x-other.x)**2 + (self.y-other.y)**2)**0.5 class Circle: Pi = 3.14 def __init__(self, r, center=Point(0, 0)): self.r = r self.center = center def perimeter(self): return 2 * Circle.Pi * self.r def area(self): return Circle.Pi * self.r ** 2 def is_exterior_contact(self, other): return self.center.distance(other.center) == (self.r + other.r) c1 = Circle(4) print('该圆的周长为:', c1.perimeter()) print('该圆的面积:', c1.area()) c2 = Circle(4, Point(0, 8)) print(c1.is_exterior_contact(c2))
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Point: def __init__(self, x=0, y=0): self.x = x self.y = y def distance(self, other): return ((self.x-other.x)**2 + (self.y-other.y)**2)**0.5 class Line: def __init__(self, start:Point, end:Point): self.start = start self.end = end def length(self): return self.start.distance(self.end) l1 = Line(Point(0, 0), Point(100, 100)) print('线段长度为:', l1.length())
-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog: def __init__(self, name, breed='德牧', gender='公'): self.name = name self.breed = breed self.gender = gender def barking(self): print(f'{self.name}在叫唤') class Person: def __init__(self, name, age, dogs=None): self.name = name self.age = age self.dogs = dogs def walk_the_dog(self): if self.dogs: print(f'{self.name}正在遛{self.dogs.name}') else: print(f'{self.name}没有狗') p = Person('小明', 18) p1 = Person('小花', 20) p.dogs = Dog('大黄') p.walk_the_dog() p1.walk_the_dog()
day17-面向对象作业
最新推荐文章于 2024-08-02 22:29:04 发布