Python 静态方法

from math import sqrt
class Triangle(object):
    def __init__(self,a,b,c):
        self._a=a
        self._b=b
        self._c=c
    #静态方法
    @staticmethod
    def is_valid(a,b,c):
        return a + b > c and a + c > b and b + c > a
    def perimeter(self):
        return self._a+self._b+self._c
    def area(self):
        href=self.perimeter()/2
        return sqrt(href*(href-self._a)*(href-self._b)*(href-self._c))
def main():
    a,b,c=3,4,5
    #静态方法和类方法都是通过给类发消息来调用的
    if Triangle.is_valid(a,b,c):
        triangle=Triangle(a,b,c)
        print("三角形的周长是:",triangle.perimeter())
        # 也可以通过给类发消息来调用对象方法但是要传入接收消息的对象作为参数
        print(Triangle.perimeter(triangle))
        print("三角形的面积是:",triangle.area())
        print(Triangle.area(triangle))
    else:
        print("不好意思,不能构成三角形!")
if __name__=='__main__':
    main()
原文地址:https://www.cnblogs.com/andrew3/p/13156447.html