-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog: def __init__(self,name,gender,breed): self.name=name self.gender=gender self.breed=breed @classmethod def calldog(cls,callout): cls.call=callout return f'{cls.call}' def __repr__(self): return f'<{str(self.__dict__)[1:-1]}>' class AMan: def __init__(self, name, age, dog): self.name=name self.age=age self.dog=dog @classmethod def took_the_dog(cls,took): cls.took=took return f'{cls.took}' def __repr__(self): return f'<{str(self.__dict__)[1:-1]}>' dog1=Dog('旺财','公','金毛') aman=AMan('小明',18,'金毛') print(dog1) print(aman) print(Dog.calldog('叫唤')) print(AMan.took_the_dog('遛狗'))
-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rectangle: def __init__(self,length,width): self.length=length self.width=width def area(self): return (self.length*self.width) def perimeter(self): return (self.length+self.width)*2 def __repr__(self): return f'<{str(self.__dict__)[1:-1]}>' a=Rectangle(9,10) print(a.perimeter()) print(a.area())
-
定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Distance: def __init__(self,x,y,x1,y1): self.x=x self.y=y self.x1=x1 self.y1=y1 self.distance=int(((x-x1)**2+(y-y1)**2)**0.5) def __repr__(self): return f'{str(self.__dict__)[1:-1]}' print(Distance(1,3,4,5))
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Line: def __init__(self,star,finish): self.st_point=star self.fi_point=finish self.distance=abs(self.fi_point-self.st_point) def __repr__(self): return f'<{str(self.__dict__)[1:-1]}>' print(Line(4,8))
day17-面向对象作业
最新推荐文章于 2024-07-17 09:15:39 发布