- 定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
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 a1 = Rectangle(10, 20) print('周长', a1.perimeter()) print('面积', a1.area())
- 定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Point: def __init__(self, x, y): self.x = x self.y = y def length(self, other): return ((self.x - other.x) ** 2 + (self.y - other.y) ** 2) ** (0.5) p1 = Point(4, 5) p2 = Point(1, 1) print(p1.length(p2))
- 定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Circle: def __init__(self, r, center=Point(0, 0)): self.r = r self.center = center def is_exterior_contact(self, other): return self.r + other.r == self.center.length(other.center) c1 = Circle(10) c2 = Circle(20, Point(30, 0)) result = c1.is_exterior_contact(c2) print(result)
- 定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Line: def __init__(self, x, y): self.x = x self.y = y def length(self, other): return ((self.x - other.x) ** 2 + (self.y - other.y) ** 2) ** 0.5 a1 = Line(0, 0) a2 = Line(3, 4) print('线段的长度:', a1.length(a2))
-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog: def __init__(self, name, gender, breed): self.name = name self.gender = gender self.breed = breed def cry(self): return f'名叫{self.name}的会汪汪汪的{self.gender}{self.breed}' d1 = Dog('旺财', '公狗', '哈士奇') d1.cry() class Mankind: def __init__(self, name, age, dog): self.name = name self.age = age self.dog = dog def walkDog(self): return f'{self.age}岁的{self.name}在溜' + self.dog.cry() p1 = Mankind('小李', 18, d1) print(p1.walkDog())