-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Point: def __init__(self, length, width): self.length = length self.width = width def acra(self): return self.width * self.length def pert(self): return (self.length + self.width) * 2 p1 = Point(10, 20) print(p1.acra()) print(p1.pert())
-
定义一个二维点类,拥有属性: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(10, 20) p2 = Point() print(p1.distance(p2))
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Circle: pi = 3.1415926 def __init__(self, radius, center=Point(0, 0)): self.center = center self.radius = radius def pert(self): return self.radius * Circle.pi * 2 def acra(self): return Circle.pi * (self.radius ** 2) def exotomy(self, other): if ((self.center.x - other.center.x) ** 2 + (self.center.y - other.center.y) ** 2) ** 0.5 == (self.radius + other.radius): return f"当前圆与{other}外切" else: return f"当前圆与{other}没有外切" p1 = Circle(5, Point(0, 20)) p2 = Circle(5, Point(10, 20)) print(p1.exotomy(p2))
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Segment: def __init__(self, start=Point(0, 0), end=Point(0, 0)): self.start = start self.end = end def get_length(self): return f'线段长度为{((self.start.x - self.end.x) ** 2 + (self.start.y - self.end.y) ** 2) ** 0.5}' p1 = Segment(Point(0,10), Point(10, 5)) print(p1.get_length())
-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog:
def __init__(self, name, breed, sex='公'):
self.name = name
self.breed = breed
self.sex = sex
def bark(self):
return f'{self.name}是一条{self.breed}喜欢叫唤'
class Human:
def __init__(self, name, dog_name, age=0):
self.name = name
self.age = age
self.dog_name = dog_name
def walk(self):
return f'{self.name}喜欢遛{self.dog_name},{Dog.bark(p1)}'