面向对象编程的一个关键部分是封装,它涉及将相关变量和函数打包为单个易于使用的对象——类的实例。
一个相关的概念是数据隐藏,它指出类的实现细节应该被隐藏,并且为希望使用类的人提供一个干净的标准接口。
在其他编程语言中,这通常通过私有方法和属性来完成,私有方法和属性阻止对类中的某些方法和属性的外部访问。
Python逻辑略有不同。它经常被描述为“we are all consenting adults here”,意思是你不应该对访问一个类的部分设置任意的限制。因此,没有办法执行严格的私有方法或属性。
然而,有一些方法可以阻止人们访问类的一部分,比如通过封装隐藏实现细节。