Python类的实例属性详解

maiziedu · 2016-11-10 08:50:22 · 3172 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2016-11-10 08:50:22 的主题,其中的信息可能已经有所发展或是发生改变。

  实例属性

  1.类被实例化后才会具有的属性

  2.一般在init()方法中创建并初始化

  3.直接使用即定义:self.<属性名>

  4.引用方法:self.<属性名>

  5.self用来表示类的实例的

  例如:在类TestCss当中定义实例属性

  class TestCss:

  cssa = 'class-attribe'

  def init(self):

  self.a = 0

  self.b = 10

  def info(self):

  print('a:',self.a,'b:',self.b)

  if name == 'main':

  tc = TestCss()

  tc.info()

  程序的运行结果为:

11.png

  6.类外用实例名.属性名方式定义和引用

  例如:

  class TestCss:

  cssa = 'class-attribe'

  def init(self):

  self.a = 0

  self.b = 10

  def info(self):

  print('a:',self.a,'b:',self.b)

  if name == 'main':

  tc = TestCss()

  tc.info()

  if name == 'main':

  tc = TestCss()

  tc.info()

  tc.color = 'red'

  print(tc.color)

  程序的运行结果为:

 22.png

  7.相同类的不同实例其实例属性是不相关的

  例如:

  lass TestCss:

  cssa = 'class-attribe'

  def init(self):

  self.a = 0

  self.b = 10

  def info(self):

  print('a:',self.a,'b:',self.b)

  if name == 'main':

  tc = TestCss()

  tc.info()

  tc = TestCss()

  tca = TestCss()

  tc.a = 100

  tc.b = 200

  tc.info()

  tca.info()

  程序的运行结果为:

 33.png

  8.一般不建议在init()方法之外中创建和初始化实例属性

  9.一般不推荐类外定义和修改,修改可以单独定义方法。

  原文链接:http://www.maiziedu.com/wiki/python/instance/


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3172 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传