python 类中的函数如何共享变量
时间: 2023-12-12 18:05:58 浏览: 166
在 Python 类中,可以使用类变量(class variables)或实例变量(instance variables)来共享变量。
类变量是所有实例所共有的变量,可以通过类名或实例来访问。在类定义中,可以在任何方法之外定义类变量,例如:
```
class MyClass:
class_var = 0
def __init__(self, instance_var):
self.instance_var = instance_var
```
在上面的示例中,class_var 是一个类变量,它是所有 MyClass 实例所共有的。instance_var 是一个实例变量,它是每个 MyClass 实例所独有的。
如果要在类方法中访问类变量,可以使用类名或 cls 参数:
```
class MyClass:
class_var = 0
def __init__(self, instance_var):
self.instance_var = instance_var
@classmethod
def class_method(cls):
cls.class_var += 1
```
在上面的示例中,class_method 是一个类方法,它可以访问类变量 class_var,并对其进行修改。
如果要在实例方法中访问类变量,可以使用类名或 self.__class__:
```
class MyClass:
class_var = 0
def __init__(self, instance_var):
self.instance_var = instance_var
def instance_method(self):
self.__class__.class_var += 1
```
在上面的示例中,instance_method 是一个实例方法,它可以访问类变量 class_var,并对其进行修改。注意,这里使用了 self.__class__ 来访问类变量,因为 self.class_var 会访问实例变量而不是类变量。
阅读全文