-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rectangle: def __init__(self, length=0, wide=0): self.length = length self.wide = wide def perimeter(self): return (self.length+self.wide)*2 def acreage(self): return self.length*self.wide r1 = Rectangle(4, 5) print(r1.perimeter(), r1.acreage())
-
定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Piont: def __init__(self, x=0, y=0): self.x = x self.y = y def p_to_p_length(self, point): return ((self.x-point.x)**2+(self.y-point.y)**2)**0.5 p1 = Piont(2, 5) p2 = Piont(-1, 1) print(p1.p_to_p_length(p2))
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
import math class Point: def __init__(self, x=0, y=0): self.x = x self.y = y def p_to_p_length(self, point): return ((self.x-point.x)**2+(self.y-point.y)**2)**0.5 class Circle: def __init__(self, radius=0, center=Point(0, 0)): self.radius = radius self.center = center def perimeter(self): return 2*math.pi*self.radius def acreage(self): return self.radius**2*math.pi def exterior_contact(self, another): return self.radius+another.radius == self.center.p_to_p_length(another.center) c1 = Circle(1, Point(0, 0)) c2 = Circle(4, Point(3, 4)) print(c1.perimeter(), c1.acreage(), c1.exterior_contact(c2))
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Point: def __init__(self, x=0, y=0): self.x = x self.y = y def p_to_p_length(self, point): return ((self.x-point.x)**2+(self.y-point.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.p_to_p_length(self.end) l1 = Line(Point(0, 0), Point(3, 4)) print(l1.length())
-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Human: def __init__(self, name: str, age: int, dog=None): self.name = name self.age = age self.dog = dog def walk_the_dog(self): if self.dog: return f'{self.name}遛{self.dog.breed}品种的{self.dog.name}' class Dog: def __init__(self, name: str, gender: str, breed: str): self.name = name self.gender = gender self.breed = breed def call_out(self): return f'{self.name}叫唤' dog1 = Dog('阿黄', '雌', '疯狗') person1 = Human('黄哥', 18, dog1) print(dog1.call_out(), person1.walk_the_dog())
``