定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
# 定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积 class Rectangular: def __init__(self, l=0, w=0): self.long = l self.wide = w def perimeter(self): return 4 * self.long def area(self): return self.long * self.wide r1 = Rectangular(10, 5) print(f'长({r1.long}),宽({r1.wide})的矩形周长是:{r1.perimeter()}, 面积是:{r1.area()}') # 长(10),宽(5)的矩形周长是:40, 面积是:50定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Point: def __init__(self, x=0, y=0): self.x = x self.y = y def distance(self, p): return ((self.x-p.x)**2+(self.y-p.y)**2)**0.5 p1 = Point() p2 = Point(3, 4) result = p1.distance(p2) print(f'点({p1.x},{p1.x})和点({p2.x},{p2.x})之间的距离是:{result}') # 输出结果 """ 点(0,0)和点(3,3)之间的距离是:5.0 """定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Point: def __init__(self, x=0, y=0): self.x = x self.y = y def distance(self, p): return ((self.x-p.x)**2+(self.y-p.y)**2)**0.5 class Circle: pi = 3.1415926 def __init__(self, r: int = 0, c=Point(0, 0)): self.center = c self.radius = r def perimeter(self): return 2 * self.pi * self.radius def area(self): return (Circle.pi * self.radius)**2 def is_excircle_contact(self, r): print(self.center.distance(r.center)) print(self.radius+r.radius) return self.center.distance(r.center) == self.radius+r.radius r1 = Circle(1, Point(1, 0)) r2 = Circle(2, Point(4, 0)) r1.is_excircle_contact(r2) print(f'圆1的周长是:{r1.perimeter():.2f}, 面积是:{r1.area():.2f}') print(f'圆2的周长是:{r2.perimeter():.2f}, 面积是:{r2.area():.2f}') print(f'圆1和圆1是否外切:{r1.is_excircle_contact(r2)}') # 输出结果 """ 圆1的周长是:6.28, 面积是:9.87 圆2的周长是:12.57, 面积是:39.48 圆1和圆1是否外切:True 线段的长度是4.24 """定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长
""" _author_:张熙澜 """ class Point: def __init__(self, x=0, y=0): self.x = x self.y = y def distance(self, p): return ((self.x-p.x)**2+(self.y-p.y)**2)**0.5 class Line: def __init__(self, s: Point, e: Point): self.start = s self.end = e def distance(self): return self.start.distance(self.end) r1 = Line(Point(3, 3)) print(f'线段的长度是{r1.distance():.2f}') # 线段的长度是4.24定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Person: def __init__(self, n='', a=0, d=''): self.name = n self.age = a self.dog = d def walk_dog(self, d): print(f'{self.name}遛狗{self.dog}, 旺财叫唤{d.cry()}') class Dog: def __init__(self, n, s, v): self.name = n self.sex = s self.variety = v def cry(self): return '汪汪汪!' d1 = Dog('旺财', 10, '中华田园犬') p1 = Person('春花', 18, '旺财') p1.walk_dog(d1)