函数其实都很像,只是放在类里面的被约束了一些。
类静态函数和成员函数
- 和类的成员分为静态成员和实例成员一样,函数也被分成静态和成员两种。
- 大部分面向对象编程语言的类静态函数本质是独立于类对象,类成员函数是和类对象息息相关。比如C++/Java/C#等。
- Python把静态函数又分成类方法和静态方法两种,可以认为它和类完全绑定关系,主要为了提供给外部模块调用,而类方法就和其他面向对象语言理解上一样。
- 类静态方法用@staticmethod修改,类方法用@classmethod修饰,有默认参数cls.
- 类静态方法不能访问任何类属性或类方法,当然也不能访问实例属性和方法; 类方法可以访问类属性。