-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog: def __init__(self, dog_name, dog_gender, dog_breed): self.dog_name = dog_name self.dog_gender = dog_gender self.dog_breed = dog_breed def cry_out(self): print('叫唤') class Person: def __init__(self, name, age, dog): self.name = name self.age = age self.dog = dog def walk_the_dog(self): print('遛狗')
-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rectangle: def __init__(self, c, k): self.length = c self.width = k def get_area(self): return self.length*self.width def get_perimeter(self): return (self.length+self.width)*2 def __repr__(self): return f'{self.__dict__}' r1 = Rectangle(10, 9) print(r1.get_area()) print(r1.get_perimeter()) print(r1)
-
定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Coordinate: def __init__(self, x, y): self.x = x self.y = y def distance(self, point): return ((self.x - point.x) ** 2 + (self.y - point.y) ** 2) ** 0.5 p1 = Coordinate(6, 10) p2 = Coordinate(4, 5) dis = p1.distance(p2) print(f'点p1到p2的距离为{dis:.2f}')
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Circle: pi = 3.1415926 def __init__(self, r, o_x, o_y): self.r = r self.o_x = o_x self.o_y = o_y def perimeter(self): return 2*Circle.pi*self.r def area(self): return Circle.pi*self.r**2 def exterior_contact(self, cir2): if self.r + cir2.r == ((self.o_x-cir2.o_x)**2 + (self.o_y-cir2.o_y)**2)**0.5: return "相切" else: return '不相切' c1 = Circle(5, 2, 4) c2 = Circle(8, 5, 12) ec = c1.exterior_contact(c2) print(ec) print(f'圆c1的周长为{c1.perimeter():.3f},面积为{c1.area():.3f}') print(f'圆c2的周长为{c2.perimeter():.3f},面积为{c2.area():.3f}')
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Segment: def __init__(self, begin, end): self.begin = begin self.end = end def get_length(self): return self.end - self.begin s = Segment(5, 10) s.get_length() print(f'该线段长度为{s.get_length()}')
-
写一个斗地主游戏类(根据生活经验添加类的内容)
day14-面向对象作业
最新推荐文章于 2023-05-28 19:03:31 发布