-
权限:
-
公有的:类中的普通属性和方法,默认都是公有的,可以在类的内部、外部、子类中使用
-
私有的:定义是在前面加两个'_',只能在本类的内部使用,不能再外部及子类中使用
-
-
示例:
-
class Person: def __init__(self, name, age): self.name = name # 在属性的前面添加两个'_',外部访问,系统内部的除外 # 默认的属性名:__age => _Person__age self.__age = age def eat(self): print('民以食为天') # 在方法的前面添加两个'_' def __inner(self): print('私有方法,不想让外部调用') def test(self): # 在类的内部可以访问私有的属性和方法 print(self.__age) self.__inner() p = Person('老王', 50) # 默认所有的属性和方法都是公有的,就是在类的外面可以直接使用 p.eat() print(p.name) # 一下两句会报错,提示没有相关的属性或方法 # p.__inner() # print(p.__age) # print(p.__dict__) # 可以通过系统修改的名称找到,但是强烈建议不要这样使用 print(p._Person__age) p._Person__inner() p.test() class Man(Person): def test(self): # print(self.__age) # self.__inner() print('子类无法使用父类私有的属性和方法') m = Man('木盖', 24) m.test()