十一天实例属性类千锋python人工智能学院.pdfVIP

十一天实例属性类千锋python人工智能学院.pdf

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实例属性、类属性

在面向对象开发中,使用类创建出来的实例是一个对象,那么,类是否是一个对象呢?

实例属性

通过类创建的对象被称为实例对象,对象属性又称为实例属性,记录对象各自的数据,不同对象的同名实例

属性,记录的数据各自独立,互不干扰。

class(object):

definit(self,name,age):

#这里的name和age都属于是实例属性,每个实例在创建时,都有自己的属性

self.name=name

self.age=age

#每创建一个对象,这个对象就有自己的name和age属性

p1=(,18)

p2=(李四,20)

类属性

类属性就是类对象所拥有的属性,它被该类的所有实例对象所共有,类属性可以通过类对象或者实例对象访

问。

classDog:

type=狗#类属性

dog1=Dog()

dog2=Dog()

#不管是dog1、dog2还是Dog类,都可以到type属性

print(Dog.type)#结果:狗

print(dog1.type)#结果:狗

print(dog2.type)#结果:狗

使用场景:

1.类的实例记录的某项数据始终保持一致时,则定义类属性。

2./实例属性要求每个对象为其单独开辟一份内存空间来记录数据,而类属性为全类所共有,仅占用一份

内存,更加节省内存空间。

1尽量避免类属性和实例属性同名。如果有同名实例属性,实例对象会优先实例属性。

classDog(object):

type=狗#类属性

definit(self):

self.type=dog#对象属性

#创建对象

dog1=Dog()

print(dog1.type)#结果为“dog”类属性和实例属性同名,使用实例对象的是实例属性

2类属性只能通过类对象修改,不能通过实例对象修改

lassDog(object):

type=狗#类属性

#创建对象

dog1=Dog()

dog1.type=dog#使用实例对象创建了对象属性type

print(dog1.type)#结果为“dog”类属性和实例属性同名,的是实例属性

print(Dog.type)#结果为狗类属性

#只有使用类名才能修改类属性

Dog.type=土狗

print(Dog.type)#土狗

dog2=Dog()

print(dog2.type)#土狗

3类属性也可以设置为私有,前边添加两个下划线。如:

classDog(object):

count=0#公有的类属性

type=狗#私有的类属性

print(Dog.count)#正确

print(Dog.type)#错误,私有属性,外部无法。

文档评论(0)

ericxiao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档