class中的全局变量 python
时间: 2024-10-07 12:03:14 浏览: 19
对python 中class与变量的使用方法详解
5星 · 资源好评率100%
在Python中,`class`里的变量分为两种:类变量(Class Variables)和实例变量(Instance Variables)。它们的区别在于作用域和生命周期:
1. **类变量** (Class Variable):
- 它们被声明为`class`关键字后面,不在任何方法内。
- 类变量是所有实例共享的,无论创建多少个类的实例,每个实例都会共享同一份类变量。
- 如果没有在类里初始化,它们会默认获取`None`值。
- 可以通过`cls`关键字在类的方法内部访问。
2. **实例变量** (Instance Variables):
- 每个类的实例都有自己的一份实例变量,它们分别存储在每个实例的`__dict__`中。
- 如果没有显式地在实例上赋值,那么默认值取决于具体的变量类型。
- 也可以通过`self`关键字在方法内部访问实例变量。
示例:
```python
class MyClass:
# 全局类变量
global_var = "I am a class variable"
def __init__(self, instance_var):
# 实例变量
self.instance_var = instance_var
# 创建两个MyClass实例
obj1 = MyClass("instance_var_1")
obj2 = MyClass("instance_var_2")
# 打印类变量和实例变量
print(obj1.global_var) # 输出:"I am a class variable"
print(obj1.instance_var) # 输出:"instance_var_1"
print(obj2.instance_var)
阅读全文