-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog:
"""狗类"""
def __init__(self, name, gender, breed):
self.name = name
self.gender = gender
self.breed = breed
def bark(self):
return f'Wang wang wang wang!!'
class Person:
"""人类"""
def __init__(self, name, age, dog):
self.name = name
self.age = age
self.dog = dog
def walk_dog(self):
return f'let\'s go {self.dog}出去遛弯啦!!'
d1 = Dog('小黄', '公的', '土狗')
p1 = Person('小明', '18', d1.name)
print(f'{d1.name}正在叫:{d1.bark()}', p1.walk_dog())
- 定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rectangle:
"""矩形类"""
def __init__(self, length, width):
self.length = length
self.width = width
def perimeter(self):
return 2 * (self.length + self.width)
def area(self):
return self.length * self.width
r1 = Rectangle(10, 20)
print(f'该矩形的周长是:{r1.perimeter()} 面积是:{r1.area()}')
- 定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class TwoPoint:
"""二维点类"""
def __init__(self, x, y):
self.x = x
self.y = y
def distance(self, t2):
k = ((self.x - t2.x) ** 2 + (self.y - t2.y))**(1 / 2)
return k
t1 = TwoPoint(10, 20)
t2 = TwoPoint(1, 20)
print(f'两点之间的距离是:{t1.distance(t2)}')
- 定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
class Circle:
pi = 3.1415926
def __init__(self, r, x, y):
self.r = r
self.x = x
self.y = y
def perimeter(self):
return 2 * Circle.pi * self.r
def area(self):
return Circle.pi * self.r ** 2
def estimate(self, c2):
return ((self.x - c2.x) ** 2 + (self.y - c2.y) ** 2)**(1 / 2) == self.r + c2.r
c1 = Circle(10, 0, 20)
c2 = Circle(10, 0, 0)
print(f'该圆的周长是:{c1.perimeter()} 面积是:{c1.area()} 是否是外切圆:{c1.estimate(c2)}')
- 定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Segment:
def __init__(self, origin, end_point):
self.origin = origin
self.end_point = end_point
def get_point_distance(self):
return ((self.origin[0]-self.end_point[0])**2 + (self.origin[1] - self.end_point[1])**2)**0.5
s1 = Segment((10, 20), (20, 10))
print(f'该线段的长度是:{s1.get_point_distance()}')