python-成员修饰符

好久没有写关于python的博客了,以后慢慢的要补起来,给自己一个更新的动力,加油

python中成员的修饰符指的就是:公有,私有

  • 公有: 在任何地方都可以调用这个成员(绑定方法,类变量等)
  • 私有: 只有类内部的成员才可以调用

私有一般在前面加上 __ 2个下划线来区分
示例:

class Foo(object):
    def __init__(self,name,age):
        self.__name = name
        self.age = age
    def get_name(self):
        return self.__name
    def get_age(self):
        return self.age
    @property
    def get_peo(self):
        return "{}-{}".format(__name,age)
obj = Foo('dhc',18)
obj.__name  # 这样是不可以调用的,私有
obj.age # 公有,可以正常调用
obj.get_name() # 可以调用,因为使用的是类中的get_name方法来调用私有变量

# 同理,方法也是一样的 def __fun ,这里不列举了

按理说私有成员是不可以在外部被调用的,但是总有一些办法可以调用, _类__name 这种格式可以使用

class Foo(object):

    def __init__(self):
        self.__num = 123
        self.age = 19

    def __msg(self):
        print(1234)


obj = Foo()
print(obj.age)
print(obj._Foo__num)
obj._Foo__msg()

原文地址:https://www.cnblogs.com/dinghc/p/15527552.html