-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rectangle: def __init__(self, length=0, width=0): self.length = length self.width = width def perimeter(self): return 2*(self.length+self.width) def area(self): return self.length*self.width r1 = Rectangle(3, 5) print(r1.perimeter()) print(r1.area())
-
定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Point: def __init__(self, x_coord=0, y_coord=0): self.x_coord = x_coord self.y_coord = y_coord def distance(self, other): return ((self.x_coord-other.x_coord) ** 2 + (self.y_coord - other.y_coord) ** 2) ** 0.5 p1 = Point(3, 5) p2 = Point(7, 9) print(p1.distance(p2))
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Circle: pai = 3.14159 def __init__(self, radius=0, x=0, y=0): self.radius = radius self.x = x self.y = y def perimeter(self): return 2*self.radius*Circle.pai def area(self): return Circle.pai*self.radius**2 def circumscribed(self, other): lenth1 = self.radius + other.radius lenth2 = (((self.x)**2 - (other.x)**2) + ((self.y)**2 - (other.y)**2))**0.5 if lenth1 == lenth2: return '外切' else: return '不外切' c1 = Circle(3, 0, 6) c2 = Circle(3, 0, 0) print(c1.circumscribed(c2))
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Segment: def __init__(self, begin=0, finish=0): self.begin = begin self.finish = finish def length(self): if self.begin < 0: self.begin = -self.begin if self.finish < 0: self.finish = -self.finish return self.begin+self.finish s1 = Segment(-3, 5) print(s1.length())
-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog:
def __init__(self, name, sex, breed):
self.name = name
self.sex = sex
self.breed = breed
def bark(self):
return '马狗狗叫'
class Human:
def __init__(self, name, age, dog):
self.name = name
self.age = age
self.dog = dog
def walk_dog(self):
if self.dog:
print(f'{self.name}溜{self.dog.name}')
else:
print(f'{self.name}没有马狗')