1

我了解它是如何工作的,并且我了解语法的含义。但我不明白我为什么要使用它?

4

2 回答 2

5

Python 中没有私有成员,包括方法。双下划线前缀实际上只是私有成员的“约定”,由于名称被进一步破坏,Python 还强制执行了该约定。不过,从外部访问这些方法并非不可能。

但总的来说,没有真正需要让成员真正“私密”。通常,单个下划线前缀用于将成员标记为“内部”,并且要求这些类型的用户单独使用它们。

除此之外,当然仍然拥有私有(或内部)方法的原因是将功能的公共部分提取到方法中,这样您就不必重复自己。

有关 Python 成员缺少隐私的更多信息,请参阅此问题

于 2013-01-04T14:04:31.523 回答
0

s假设您有操作operationA在同一个类上调用subOperationAsuboperationB ,并且这些方法作为单独的操作没有意义,它们操纵数据并且您必须防止它们的意外执行(这意味着从operationA以外的方法调用)。所以私有允许您保护和封装您的方法,将它们的可见性限制在所需的范围内。

于 2013-01-04T14:10:24.260 回答