-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog: def __init__(self, name, gender, breed): self.name = name self.gender = gender self.breed = breed def bark(self): print('汪汪汪') class Person: def __init__(self, name, age:int, dog:object): self.name = name self.age = age self.dog = dog def walk(self): print(f'走,{self.dog.name}出去玩') d1 = Dog('小花', '女', '金毛') d1.bark() p1 = Person('小明', 18, d1) p1.walk()
-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rect: def __init__(self,width,height): self.width=width self.height=height def perimeter(self): return 2*self.width*self.height def area(self): return self.width*self.height rect=Rect(3,4) perimeter=rect.perimeter() area=rect.area() print(f'周长:{perimeter},面积:{area}')
-
定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Coordinate: def __init__(self,x,y): self.x=x self.y=y def get_distance(self,c1): return ((self.x-c1.x)**2+(self.y-c1.y)**2)**0.5 coordinate=Coordinate(0,0) c1=Coordinate(3,4) distance=coordinate.get_distance(c1) print(distance)
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Circle:
pi = 3.1415926
def __init__(self, r, coordinate):
self.coordinate = coordinate
self.r = r
def get_perimeter(self):
return Circle.pi * 2 * self.r
def get_area(self):
return Circle.pi * self.r ** 2
def is_exterior_contact(self, circle):
return self.coordinate.get_distance(circle.coordinate) == self.r + circle.r
c1 = Circle(2, Coordinate(0, 0))
c2 = Circle(2, Coordinate(4, 0))
print(c1.is_exterior_contact(c2))
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Segment: def __init__(self,start:set,end:set): self.start=start self.end=end def get_distance(self): return ((self.start[0] - self.end[0]) ** 2 + (self.start[1] -self.end[1]) ** 2) ** 0.5 seg=Segment((0,0),(3,4)) print(seg.get_distance())