定义一个矩形类,拥有属性:长、宽 拥有方法:求周长、求面积
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}'