在Python中,类变量通常用于以下几种情况:
初始化时:
当你需要在创建类的实例时进行一些操作,比如计数器,可以使用类变量。
```python
class Kls(object):
no_inst = 0 定义类变量
def __init__(self):
Kls.no_inst += 1 每创建一个实例,类变量加1
创建实例
k1 = Kls()
k2 = Kls()
print(Kls.no_inst) 输出2,因为创建了两个实例
类方法中:
类方法可以直接访问类变量,不需要通过实例。
```python
class Person():
name = 'zwj' 定义类变量
def info(self):
print(self.name) 本类中使用通过self.name
@classmethod
def class_info(cls):
print(cls.name) 通过类名直接访问类变量
p = Person()
p.info() 输出'zwj'
Person.class_info() 输出'zwj'
静态方法中:
静态方法也可以直接访问类变量,不需要通过实例。
```python
class MathOps():
PI = 3.14159 定义类变量
@staticmethod
def calculate_circle_area(radius):
return MathOps.PI * radius * radius
使用静态方法
area = MathOps.calculate_circle_area(5)
print(area) 输出78.53975
需要注意的是,类变量与实例变量不同,类变量是属于类的,所有实例共享同一个类变量,而实例变量是每个实例独有的。