-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dag: def __init__(self, name, gender, breed, way): self.name = name self.gender = gender self.breed = breed self.way = way def __repr__(self): return f'{str(self.__dict__)[1:-1]}' dag1 = Dag('旺财', '女', '金毛', '叫唤') print(dag1) class Person: def __init__(self, name, age, dag): self.name = name self.age = age self.dag = dag def __repr__(self): return f'{str(self.__dict__)[1:-1]}' p1 = Person('小红', 18, '旺财') print(p1)
-
定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Circle:
def __init__(self, long, wide):
self.long = long
self.wide = wide
def perimeter(self):
return (self.long + self.wide)*2
def area(self):
return self.long * self.wide
p2 = Circle(4, 5)
print(p2.perimeter())
print(p2.area())
- 定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
import math
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def distance(self, other):
removing = math.hypot(self.x - other.x, self.y - other.y)
print('两点之间的距离为:', removing)
p3 = Point(4, 6)
p4 = Point(7, 8)
p4.distance(p3)
- 定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
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)
def exterior(self, other):
if ((self.x - other.x)**2 + (self.y - other.y)**2)**0.5 == self.r + other.r:
print('这两个圆外切')
else:
print('这两个圆不外切')
c1 = Circle(5, 10, 15)
c2 = Circle(5, 10, 20)
print(c1.perimeter())
print(c2.area())
c1.exterior(c2)
-
定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Segment: def __init__(self, o, d): self.o = o self.d = d def length(self): return ((self.o - self.d)**2)**0.5 s1 = Segment(20, 30) print(s1.length())