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()