- 定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
class Rectangle:
def __init__(self, length, wide):
self.length = length
self.wide = wide
def perimeter(self):
return (self.length + self.wide) * 2
def area(self):
return self.length * self.wide
- 定义一个二维点类,拥有属性:x坐标、y坐标 拥有方法:求当前点到另外一个点的距离
class Point:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
def distance(self, other):
return ((self.x - other.x) ** 2 + (self.y - other.y) ** 2) ** 0.5
- 定义一个圆类,拥有属性:半径、圆心 拥有方法:求圆的周长和面积、判断当前圆和另一个圆是否外切
import math
class Point:
def __init__(self, x1=0, y1=0):
self.x = x1
self.y = y1
def distance(self, other):
return ((self.x - other.x) ** 2 + (self.y - other.y) ** 2) ** 0.5
class Circle:
def __init__(self, center_point, radius):
self.center_point = center_point
self.radius = radius
def perimeter(self):
return self.radius * math.pi * 2
def area(self):
return self.radius ** 2 * math.pi
def circumscribed_circle(self, other):
if self.center_point.distance(other.center_point) == self.radius + other.radius:
print('这两个圆互为外切圆')
else:
print('这两个圆不互为外切圆')
- 定义一个线段类,拥有属性:起点和终点, 拥有方法:获取线段的长度
class Point:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
class Line:
def __init__(self, start_point, end_point):
self.start_point = start_point
self.end_point = end_point
def length(self):
return ((self.end_point.x - self.start_point.x) ** 2 + (self.end_point.y - self.start_point.y) ** 2) ** 0.5
-
定义一个狗类和一个人类:
狗拥有属性:姓名、性别和品种 拥有方法:叫唤
人类拥有属性:姓名、年龄、狗 拥有方法:遛狗
class Dog:
def __init__(self, name, gender, breed):
self.name = name
self.gender = gender
self.breed = breed
def roar(self):
return f'{self.name}发出了叫声'
class Person:
def __init__(self, name, age, dog):
self.name = name
self.age = age
self.dog = dog
def walk_dog(self):
return f'{self.age}岁的{self.name}牵着一只{self.dog.gender}狗正在遛狗,小狗名叫{self.dog.name},是一只{self.dog.breed}'