_x是一种弱表示,它用在类中的属性或方法,表示是private属性,希望外部使用者不要直接调用它。但它只是暗示,没有任何限制性措施。

private属性主要推荐的还是这种方式,因为Python的设计理念有一条 “We are all adults here”

__x是会被实现时,会被替换_A__x形式。它主要作用有

  1. 用在父类的函数,防止被子类覆盖
  2. 用来做private属性(不推荐)
class A(object):
def __method(self):
print "I'm a method in A" def method(self):
self.__method() class B(A):
def __method(self):
print "I'm a method in B" b = B()
b.method() $ python example.py
I'm a method in A # 在父类调用self.__method,其实是调用self._A__method

__x__是表示由python自己调用,不是给程序员调用的。比如各种魔方方法。

可参考: http://stackoverflow.com/questions/6930144/underscore-vs-double-underscore-with-variables-and-methods

_x、__x、__x__含义与区别的更多相关文章

  1. (转载)Android xml资源文件中@、@android:type、@*、?、@+引用写法含义以及区别

    原帖地址:http://blog.csdn.net/zfrong/article/details/7332545 Android xml资源文件中@.@android:type.@*.?.@+引用写法 ...

  2. Rest模式get,put,post,delete含义与区别(转)

    POST   /uri     创建 DELETE /uri/xxx 删除 PUT    /uri/xxx 更新或创建 GET    /uri/xxx 查看 GET操作是安全的.所谓安全是指不管进行多 ...

  3. Rest模式get,put,post,delete含义与区别

    POST   /uri     创建   DELETE /uri/xxx 删除    PUT    /uri/xxx 更新或创建   GET    /uri/xxx 查看   GET操作是安全的.所谓 ...

  4. Android xml资源文件中@、@android:type、@*、?、@+含义和区别

    一.@代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@andr ...

  5. PV UV IP含义及区别

    --------首先来看看ip.uv和pv的定义---------- PV(访问量):即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次. UV(独立访客):即Unique Vis ...

  6. JS中apply与call的含义与区别

    JavaScript中,apply()与call()的含义一样,均为改变调用函数中的this指向.其中apply()与call()的第一个参数表示所要指向的对象,若调用函数无参数可不写,则默认为win ...

  7. get、put、post、delete含义与区别

    1.GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改.增加数据,不会影响资源的内容,即该请求不会产生副作用.无论进行多少次操 ...

  8. JAVA Override和Overload的含义去区别

    java中的继承,方法覆盖(重写)override与方法的重载overload的区别 1.方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现,重写(Overr ...

  9. .call() 和 .apply() 的含义和区别

    JavaScript中apply与call的用法意义及区别 apply()与call()的区别 javascript中apply和call方法的作用及区别说明 .apply()用法和call()的区别 ...

随机推荐

  1. Maven——使用Nexus搭建Maven私服

    原文:http://www.cnblogs.com/xdp-gacl/p/4068967.html Maven学习总结(九)--使用Nexus搭建Maven私服 一.搭建nexus私服的目的 为什么要 ...

  2. EL 表达式

    转载自 :http://blog.csdn.net/qwerasdf123/article/details/4189889 EL表达式      1.EL简介 1)语法结构        ${expr ...

  3. Oracle数据库和DB2数据库分页SQL的区别举例

    --------------------------ORACLE数据库分页SQL举例------------------------------------------------ SELECT * ...

  4. 在多线程环境下使用HttpWebRequest或者调用Web Service(连接报超时问题)

    .net 的 HttpWebRequest 或者 WebClient 在多线程情况下存在并发连接限制,这个限制在桌面操作系统如 windows xp , windows  7 下默认是2,在服务器操作 ...

  5. PCA in Bioinformatics

    光看原理和代码是没用的,得看看具体算法在实际中的用途,多看看文献. Principal component analysis for clustering gene expression data

  6. MySQL5.7 JSON实现简介

    版权声明:本文由吴双桥原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/205 来源:腾云阁 https://www.qclo ...

  7. java 导入包(误区)

    java的导入包语句的作用仅仅是简化书写,很多时候我们都误以为是将一个类导入到内存中. 如果是这样,那么运行的效率会很慢.

  8. 如何在大量jar包中搜索特定字符

    欢迎关注我的社交账号: 博客园地址: http://www.cnblogs.com/jiangxinnju/p/4781259.html GitHub地址: https://github.com/ji ...

  9. ubuntu下python3安装类库

    ubuntu是默认安装了python2的,所以直接使用 pip install XXX 是默认安装到python2的,安装到python3 的指令是 pip3 install XXXX 或者 pyth ...

  10. (11)odoo权限机制

    -----------------更新时间:10:21 2016-09-29 星期四14:31 2016-09-28 星期三 权限对象命名修改18:06 2016-09-18 星期日11:55 201 ...