Chinaunix首页 | 论坛 | 博客
  • 博客访问: 105306
  • 博文数量: 23
  • 博客积分: 555
  • 博客等级: 中士
  • 技术积分: 320
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-14 11:04
文章分类

全部博文(23)

文章存档

2012年(23)

我的朋友

分类: Python/Ruby

2012-04-07 13:00:53

①两个下划线开始的属性:不能在外部使用或访问,需通过公开方法(接口)访问。 
②其他属性:可以在外部使用或访问。

③两个下划线开始的方法:不能在外部使用或访问,其仅在类内部使用。
④其他方法:即公开的方法,可以在外部使用或访问。
  1. /*
  2. 即可示意为下面的关系链:
  3. sampleNum 
  4. sampleGetData(self) <-> __sampleFun(self) <-__sampleData

  5. 说明: 
  6. sampleNum是可以直接访问的数据。
  7. __sampleData是内部数据,__sampleFun()看作一个仅在内部使用的过渡接口,sampleGetData()是与外部的接口。
  8. */

⑤两个下划线开始且两个下划线结束的方法:__init__(self)。特定情况下触发的函数方法。(因为其也以两个下划线开始,所以也不是直接的外部接口,不能直接访问)
例如:
  1. # Attention: 定义类中的方法是显含self,调用时隐含self。
  2. MyObject = MyClass() # 触发__init__(self)方法。
  3. MyObject + 2         # 触发__add__(self,n)方法。

⑥对于内置对象,我们help(int)和help(str)作为参考对比,可以看到:

  1. __int__(...)
  2. x.__int__() <==> int(x)
  3. __str__(...)
  4. x.__str__() <==> str(x)
阅读(813) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~