为了账号安全,请及时绑定邮箱和手机立即绑定

类和实例变量有什么区别?

类和实例变量有什么区别?

红糖糍粑 2019-08-16 16:01:12
类和实例变量有什么区别?Python中的类和实例变量有什么区别?class Complex:     a = 1和class Complex:     def __init__(self):         self.a = 1使用呼叫:x = Complex().a在两种情况下都将x分配给1。一个更深入的答案__init__(),self将受到赞赏。
查看完整描述

2 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

你所谓的“实例”变量实际上并不是一个实例变量; 它是一个类变量。请参阅有关类语言参考

在您的示例中,a似乎是一个实例变量,因为它是不可变的。在分配可变对象时,可以看到它作为变量的性质:

>>> class Complex:

>>>    a = []

>>>

>>> b = Complex()

>>> c = Complex()

>>> 

>>> # What do they look like?

>>> b.a

[]

>>> c.a

[]

>>> 

>>> # Change b...

>>> b.a.append('Hello')

>>> b.a

['Hello']

>>> # What does c look like?

>>> c.a

['Hello']

如果你使用过self,那么它将是一个真正的实例变量,因此每个实例都有它自己的唯一a创建新实例时__init__调用对象的函数,并且self该函数是对该实例的引用。


查看完整回答
反对 回复 2019-08-16
  • 2 回答
  • 0 关注
  • 535 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信