码迷,mamicode.com
首页 > 其他好文 > 详细

_x、__x、__x__含义与区别

时间:2015-09-07 12:42:16      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

_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
Im 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__含义与区别

标签:

原文地址:http://www.cnblogs.com/johnchow/p/4788505.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!