定义:
    静态函数(@staticmethod): 即静态方法,主要处理与这个类的逻辑关联, 如验证数据;
    类函数(@classmethod):即类方法, 更关注于从类中调用方法, 而不是在实例中调用方法, 如构造重载;
    成员函数: 实例的方法, 只能通过实例进行调用;

    具体应用:
    比如日期的方法, 可以通过实例化(init)进行数据输出;
    可以通过类方法(@classmethod)进行数据转换;
    可以通过静态方法(@staticmethod)进行数据验证;

    代码

    1. class Date(object):
    2. day = 0
    3. month = 0
    4. year = 0
    5. def __init__(self, day=0, month=0, year=0):
    6. self.day = day
    7. self.month = month
    8. self.year = year
    9. def display(self):
    10. return "{0}*{1}*{2}".format(self.day, self.month, self.year)
    11. @classmethod
    12. def from_string(cls, date_as_string):
    13. day, month, year = map(int, date_as_string.split('-'))
    14. date1 = cls(day, month, year)
    15. return date1
    16. @staticmethod
    17. def is_date_valid(date_as_string):
    18. day, month, year = map(int, date_as_string.split('-'))
    19. return day <= 31 and month <= 12 and year <= 3999
    20. date1 = Date('12', '11', '2014')
    21. date2 = Date.from_string('11-13-2014')
    22. print(date1.display())
    23. print(date2.display())
    24. print(date2.is_date_valid('11-13-2020'))
    25. print(Date.is_date_valid('11-12-2020'))

    结果
    image.png
    来源:https://blog.csdn.net/caroline_wendy/article/details/23383995
    可阅读:http://c.biancheng.net/view/4552.html