-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rectangle: def __init__(self, width, height): self.width = width self.height = height def perimeter(self): return self.width * 2 + self.height * 2 def area(self): return self.width * self.height rectangle = Rectangle(40, 20) print(rectangle.area()) print(rectangle.perimeter())
-
定义一个二维点类,拥有属性: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, 10) p2 = Point(30, 40) result = p1.distance(p2) print(result)
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Circle: pi = 3.1415926 def __init__(self, r, x, y): self.r = r self.x = x self.y = y def perimeter(self): return self.r * 2 * self.pi def area(self): return self.r ** 2 * self.pi def distance(self, other): return '是外切' if ((self.x - other.x) ** 2 + (self.y - other.y) ** 2) ** 0.5 == self.r + other.r else '不是外切' d1 = Circle(2, 0, 0) d2 = Circle(3, 5, 0) print(d1.distance(d2))
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Segment: 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 = Segment(10, 10) p2 = Segment(30, 40) result = p1.distance(p2) print('线段的长度为:', result)
-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog:
def __init__(self, name='二哈', gender='公狗', breeze='哈士奇'):
self.name = name
self.gender = gender
self.breeze = breeze
def cry_out(self):
return '叫唤'
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
self.D = Dog()
def walk_the_dog(self):
return str(self.age) + '岁的' + self.name + '在菜市场遛一条会' + self.D.cry_out() + '的' + self.D.name
people = Person('张三', 40)
print(people.walk_the_dog())