当前位置:优草派 > 问答 > Python问答

Python类和实例变量的关系是什么?

标签: Python  python类  作者: 罗西汉

回答:

一般来说,实例变量用于每个实例的唯一数据,而类变量用于类的所有实例共享的属性和方法,示例如下:

class Dog:
    kind = 'canine'
    def __init__(self, name):
        self.name = name
>>> d = Dog('Fido')
>>> e = Dog('Buddy')
>>> d.kind

正如名称和对象中已讨论过的,共享数据可能在涉及mutable对象例如列表和字典的时候导致令人惊讶的结果。例如以下代码中的tricks列表不应该被用作类变量,因为所有的Dog实例将只共享一个单独的列表。

TOP 10
  • 周排行
  • 月排行