私有属性

Python中对于类的成员没有严格的访问控制限制,这与其他面向对象语言有区别,关于私有属性和私有方法,有以下几点:

  1. 通常我们约定,两个下划线开头的属性是私有的,其他为公共的
  2. 类内部可以访问私有属性(方法)
  3. 类外部不能访问私有属性(方法)
  4. 类外部可以通过“__类名__私有属性(方法名)”访问私有属性(方法)

【注】方法本质上也是属性,只不过可以通过()执行而已,所以此处将私有属性和公有属性,同时也有了私有方法和公有方法

 1 class Employee:
 2 
 3     def __init__(self,name,age):
 4         self.name = name
 5         self.__age = age
 6 
 7 
 8 e = Employee('Xujie',18)
 9 print(e.name)
10 print(e._Employee__age)
11 print(dir(e))