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

谁能帮忙解释“实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。”

实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。这不是定义好几个了类属性了吗?

class Person(object):

    count=0

    address='aksdf'

    mm='ad'

    def __init__(self,name):

        Person.count=Person.count+1

        self.name=name

        


p1 = Person('Bob')

print Person.count


p2 = Person('Alice')

print Person.count


p3 = Person('Tim')

print Person.count


print Person.address

print Person.mm



正在回答

2 回答

一份和一个是在两个维度上的概念
每个实例的name属性都各自算是一份属性,其存储于实例的内存空间里(但整体算一个属性);这里是1个属性,但有3份(每个实例一份)
address,count,mm这种类属性,只存储于类的内存空间里,每个实例并不会有一份单独的空间进行存储(在调用的时候直接寻址到类的存储空间);所以这里是3个类属性,但每个属性只有一份

1 回复 有任何疑惑可以回复我~
#1

慕前端7431853 提问者

非常感谢!
2018-07-19 回复 有任何疑惑可以回复我~

类=人类   所以 人类只有一种。 人的属性有:鼻子,嘴,手,脚。

实例=你,你老婆,你儿子 你们都是人类,而且 , 你们分别 都有 鼻子,嘴,手和脚。


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

谁能帮忙解释“实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。”

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信