- 类方法:仅涉及到类,而没用到实例的方法。
用到了类cls的类中的方法
- 静态方法:与类有关系,但又不需要实例和类参与时,用到静态方法。
静态方法相当于一个函数,可独立于类之外,但与类有一定联系,所以放到类的内部。
class Date(object):
def __init__(self, day=0, month=0, year=0):
self.day = day
self.month = month
self.year = year
@classmethod
def from_string(cls, date_as_string):
day, month, year = map(int, date_as_string.split('-'))
date1 = cls(day, month, year)
return date1
@staticmethod
def is_date_valid(date_as_string):
day, month, year = map(int, date_as_string.split('-'))
return day <= 31 and month <= 12 and year <= 3999
date2 = Date.from_string('11-09-2012')
is_date = Date.is_date_valid('11-09-2012')