python 中全局变量、局部变量、静态变量,实例变量的区别和理解
在python中一个XXX.py 文件可能有多个类所以要严格区分这些变量
全局变量: 在这个模块内也就是在整个.py 文件里,并且在所以类和函数的外边
局部变量: 在函数内或者在类方法内(不要加self修饰 self 表示当前类的对象)
静态变量: 在类内,当不再类的方法里(学过java的人可以理解为类的属性,这是一个.py 文件可能有多个类造成的)
实例变量,在类的方法内,用self修饰的变量,属于当前类的对象所有
例如:
a = 1 # 这个是全局变量 全局这个.py 任意一个函数或者方法都可以使用
def test1():
a = 2 # 这个是局部变量 在这个函数可以使用
class clazz1():
a = 3 # 这个静态变量 在当前类可以使用
def test2(self):
a = 4 # 这个是局部变量 在这个方法可以使用
self.b = 5 # 这个是实例变量 属性b 在当前类共享