-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog(): def __init__(self,name,gender,breed): self.name=name self.gender=gender self.breed=breed def func_dog(self): print('叫唤') d1=Dog('旺财','公','金毛') print(d1.name,d1.gender,d1.breed) d1.func_dog() class Person: def __init__(self,name,age,dog=None): self.name=name self.age=age self.dog=dog def func_person(self): if self.dog: print('遛狗') else: print('没狗可遛') p1=Person('小明',20) print(p1.name,p1.age) p1.func_person()
-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rectangle: def __init__(self,length,width): self.length=length self.width=width def get_area(self): return self.length * self.width def get_perimeter(self): return (self.length + self.width) * 2 def __repr__(self): return f'lenth:{self.length},width:{self.width},周长:{self.get_perimeter()},面积:{self.get_area()}' r1 = Rectangle(4,5) print(r1.__repr__()) #lenth:4,width:5,周长:18,面积:20
-
定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Two_dimensional: def __init__(self,point_x,point_y): self.point_x=point_x self.point_y=point_y def func1_distance(self,other_x,other_y): self.other_x=other_x self.other_y=other_y return ((self.point_x-self.other_x)**2+(self.point_y-self.other_y)**2)**0.5 t1=Two_dimensional(4,2) print(t1.func1_distance(5,6))
-
定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
import math class Circle: def __init__(self,r,center): self.r=r self.center=center def get_area(self): return math.pi*self.r**2 def get_perimeter(self): return math.pi*self.r*2 def fun1(self,r1,center1): if self.r+r1==((self.center[0]-center1[0])**2+(self.center[1]-center1[1])**2)**0.5: return '外切' else: return '不外切' c1=Circle(4,(3,0)) print(c1.get_area(),c1.get_perimeter()) print(c1.fun1(5,(2,5)))
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Lines: def __init__(self,start_point,end_point): self.start_point=start_point self.end_point=end_point def func_len(self): x=(self.start_point[0]-self.end_point[0])**2 y=(self.start_point[1]-self.end_point[1])**2 lenth=(x+y)**0.5 return f'{self.start_point}点到{self.end_point}点的距离是:{lenth}' l1=Lines((2,5),(6,4)) print(l1.func_len())
-
写一个斗地主游戏类(根据生活经验添加类的内容)
day14-面向对象作业
最新推荐文章于 2024-07-20 17:12:48 发布