-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rectangle: def __init__(self, x, y): self.x = x self.y = y def perimeter(self): return (self.x + self.y)*2 def area(self): return self.x * self.y r1 = Rectangle(10, 20) r2 = Rectangle(10, 10) print(f'r1的周长是{r1.perimeter()},r1的面积是{r1.area()}') print(f'r1的周长是{r2.perimeter()},r1的面积是{r2.area()}')
-
定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Dot: def __init__(self, x, y): self.x = x self.y = y def distance(self, other): return ((other.x - self.x)**2 + (other.y - self.y)**2)**0.5 d1 = Dot(10, 20) d2 = Dot(10, 10) print(d1.distance(d2))
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Circle: def __init__(self, r, x, y): self.r = r self.x = x self.y = y def perimeter(self): return 2*math.pi*self.r def area(self): return math.pi*(self.r**2) # 这里要导入math模块 def exterior(self, other): if ((self.x - other.x)**2 + (self.y - other.y)**2)**0.5 == self.r + other.r: return print('这个两个圆外切') else: return print('这两个圆不外切') c1 = Circle(5, 10, 20) c2 = Circle(5, 10, 10) print(c1.perimeter()) print(c1.area()) c1.exterior(c2)
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Segment: def __init__(self, a, b): self.a = a self.b = b def length(self): return self.b - self.a s1 = Segment(10, 20) print(s1.length())
-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
class Dog: def __init__(self, name, sex, breed): self.n = name self.s = sex self.b = breed def cry(self): print(f'狗的名字是:{self.n},性别是:{self.s},品种是:{self.b}') print('叫唤') d1 = Dog('大黄', '公', '土狗') d1.cry()
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Human: def __init__(self, name, ags, dog): self.name = name self.ags = ags self.dog = dog def walk(self): print(f'这个人的名字是:{self.name},年龄是:{self.ags},狗是:{self.dog}') print('遛狗') h1 = Human('小明', 18, '大黄') h1.walk()
day17-面向对象作业
最新推荐文章于 2023-12-21 21:11:12 发布