类变量就是供类使用的变量,实例变量就是供实例使用的。如下面的代码:

class Person:
    name = "Tacey"
p1 = Person()
p2 = Person()
p1.name = "11111"
print p1.name #结果11111
print p2.name #结果Tacey
print Person.name #结果Tacey

这里p1.name="11111"是实例调用了类变量,这其实和上面第一个问题一样,就是函数传参的问题,p1.name一开始是指向的类变量name='Tacey',但是在实例的作用域里把类变量的引用改变了,就变成了一个实例变量,self.name不再引用Person的类变量name了。

可以看看下面的例子:

class Person():
    name = []
p1 = Person()
p2 = Person()
p1.name.append(1)
print p1.name #结果[1]
print p2.name #结果[1]
print Person.name #结果[1]

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-03
猜你喜欢
  • 2021-06-29
  • 2022-12-23
  • 2018-09-10
  • 2021-09-13
  • 2022-01-07
  • 2022-03-09
相关资源
相似解决方案