定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rectangle: def __init__(self, long=1, wide=1): self.l = long self.w = wide def area(self): print(self.l*self.w) def perimeter(self): print((self.l+self.w)*2) p1 = Rectangle(2,3) p1.perimeter() p1.area()定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Point: def __init__(self, x=0, y=0): self.x = x self.y = y def distance_xy(self, other): print(f'与新点的距离是{((other.x-self.x)**2+(other.y-self.y)**2)**0.5}') p1 = Point(3, 4) p2 = Point(0, 0) p1.distance_xy(p2)定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
import math class Circle: def __init__(self, r=1, x=1, y=1): self.r = r self.x = x self.y = y def area(self): print((self.r)**2*math.pi) def perimeter(self): print(2*math.pi*self.r) def judge_tangency(self, other): R = (self.r+other.r) distance = ((other.x-self.x)**2+(other.y-self.y)**2)**0.5 if R == distance: print('两圆相切') else: print('不相切') c1 = Circle(1, 1, 1) c2 = Circle(2, 2, 2) c1.area() c2.perimeter() c1.judge_tangency(c2)定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Segment: def __init__(self, x1, y1, x2, y2): self.x1 = x1 self.y1 = y1 self.x2 = x2 self.y2 = y2 def len_(self): print(((self.x1-self.x2)**2+(self.y1-self.y2)**2)**0.5) s1 = Segment(1, 2, 3, 4) s1.len_()定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class People: def __init__(self, name, age, dog): self.people_name = name self.age = age self.dog = dog def walk_the_dog(self): print(f'{self.people_name}{self.age}岁在溜{self.dog}') class Dog: def __init__(self, name, gender='公狗', breed='泰迪'): self.dog_name = name self.dog_gender = gender self.dog_breed = breed def woof(self): print(f'{self.dog_gender}{self.dog_name}在叫唤') p1 = People('小花', 12, '小奶狗') p1.walk_the_dog() d1 = Dog('小奶狗') d1.woof()