python staticmethod&classmethod
python中的这两种方法都通过修饰器来完成 静态方法 : 不需要传递类对象或者类的实例 可以通过类的实例.方法名a().foo()或者类名.方法a.foo()名来访问 当子类继承父类时,且实例化子类时,这个实例其实时父类的,而非子类的 静态方法的调用和 普通方法 的调用一样,只不过前面加个类名。 静态方法并没有太大卵用,主要考虑代码的封装性,可维护性 类方法: 默认传递 类对象本身 cls,当然可以利用类中的方法 可以通过类的实例.方法名a().foo()或者类名.方法a.foo()名来访问 当子类继承父类时,方法正常使用 class Date(object): day = 0 month = 0 year = 0 def __init__(self, day=0, month=0, year=0): #存储初始的信息 self.day = day self.month = month self.year = year print self.day, self.month, self.year @classmethod def from_string(cls,date_string): day, month, year = map(int, date_string.split('-')) date1 =