定义:
静态函数(@staticmethod): 即静态方法,主要处理与这个类的逻辑关联, 如验证数据;
类函数(@classmethod):即类方法, 更关注于从类中调用方法, 而不是在实例中调用方法, 如构造重载;
成员函数: 实例的方法, 只能通过实例进行调用;
具体应用:
比如日期的方法, 可以通过实例化(init)进行数据输出;
可以通过类方法(@classmethod)进行数据转换;
可以通过静态方法(@staticmethod)进行数据验证;
代码
class Date(object):day = 0month = 0year = 0def __init__(self, day=0, month=0, year=0):self.day = dayself.month = monthself.year = yeardef display(self):return "{0}*{1}*{2}".format(self.day, self.month, self.year)@classmethoddef from_string(cls, date_as_string):day, month, year = map(int, date_as_string.split('-'))date1 = cls(day, month, year)return date1@staticmethoddef is_date_valid(date_as_string):day, month, year = map(int, date_as_string.split('-'))return day <= 31 and month <= 12 and year <= 3999date1 = Date('12', '11', '2014')date2 = Date.from_string('11-13-2014')print(date1.display())print(date2.display())print(date2.is_date_valid('11-13-2020'))print(Date.is_date_valid('11-12-2020'))
结果
来源:https://blog.csdn.net/caroline_wendy/article/details/23383995
可阅读:http://c.biancheng.net/view/4552.html
