前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实例属性和类属性

实例属性和类属性

作者头像
py3study
发布2020-01-15 01:09:40
1K0
发布2020-01-15 01:09:40
举报
文章被收录于专栏:python3

实例属性   由于Python是动态语言,根据类创建的实例可以任意绑定属性   实例绑定属性的方法     1) 通过实例变量     2) 通过self变量

代码语言:javascript
复制
  class Student(object):
    def __init__(self, name):
      self.name = name #通过self变量绑定属性

  s = Student('Bob')
  s.score = 90 #通过实例变量绑定属性

类属性   如果类本身需要绑定一个属性,可以直接在class中定义属性,这种属性是类属性   当定义了一个类属性后,这个属性虽然归类所有,但类的所有实例都可以访问到   实例属性和类属性不要使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性,但是当删除实例属性后,再用相同的名称,访问到的将是类属性

代码语言:javascript
复制
  class Student(object):
    name = 'Student'

  s = Student()    #创建实例s
  print(s.name)    #输出:Student
  print(Student.name)    #输出:Student

  s.name = 'Michael' #给实例绑定name属性
  print(s.name)    #输出:Michael
  print(Student.name)    #输出:Student

  del s.name    #删除实例的name属性
  print(s.name)    #输出:Student,再次调用s.name,由于实例的name属性没有找到,类的name属性就显示出来了

实例属性和类属性   实例属性属于各个实例所有,互不干扰   类属性属于类所有,所有实例共享一个属性   不要对实例属性和类属性使用相同的名字,否则将产生难以发现的错误

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/06/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档