1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| class Triangle(object):
def __init__(self, a, b, c):
self._a = a
self._b = b
self._c = c
# 静态方法,通过装饰器@staticmethod定义,静态方法属于类方法
@staticmethod
def is_valid(a, b, c):
return a + b > c and b + c > a and a + c > b
# 类方法使用装器@classmethod定义,cls 表示类本身
@classmethod
def create_by_default(cls):
a = 3
b = 4
c = 5
return cls(a, b, c)
# 对象的方法,self表示对象本身
def perimeter(self):
return self._a + self._b + self._c
# 检查是否可以构成三角形
if Triangle.is_valid(1, 2, 3):
t1 = Triangle(1, 2, 3)
else:
print("Can't creat a Triangle")
# 通过类方法创建默认的三角形
t2 = Triangle.create_by_default()
# 通过对象的方法计算三角形的周长
print('perimeter:', t2.perimeter())
|