python的类中的变量通常被称之为属性,而类中的函数,通常称之为方法。
在python的类中,有三种变量,与三种方法。
首先是实例方法。
实例方法定义的格式是:
def xxx(self):
这里的self就是实例本身。
在实例方法中的变量就是实例属性。
其次是类方法。
类方法的格式是:
@classmethod
def xxx(cls):
这里的cls就是类本身。
在类方法中的变量就是类属性。
同时如果一个变量直接存在于类中,而不是存在于方法之中,那么这个变量也是类属性。
最后是静态方法。
静态方法的格式是:
@staticmethod
def xxx():
括号中既没有self,也没有cls。
静态方法中的变量是局部变量,既不是类属性也不是实例属性。
静态方法的局部变量只在静态方法的作用域内有效,因此要调用静态方法的局部变量必须先调用静态方法。
方法类型 | 变量 | 可以调用的方法 | 可以访问的变量 | 不可以访问的变量 |
实例方法 | 实例属性 | 实例方法,类方法,静态方法 | 实例属性,类属性 | 静态方法的局部变量 |
类方法 | 类属性 | 类方法,静态方法 | 类属性 | 静态方法的局部变量 |
静态方法 | 局部变量 | 静态方法 | 自己的局部变量 | 其他局部方法的局部变量 |