1

それがどのように機能するかを理解し、構文の意味を理解しています。しかし、なぜそれを使用したいのかわかりません。

4

2 に答える 2

5

Pythonには、メソッドを含むプライベートメンバーはありません。二重アンダースコアプレフィックスは、実際にはプライベートメンバーの単なる「慣習」であり、名前がさらに混乱するにつれてPythonによってさらに強制されます。ただし、外部からこれらのメソッドにアクセスすることは不可能ではありません。

ただし、一般的に、メンバーを本当に「プライベート」にする必要はありません。多くの場合、単一のアンダースコアプレフィックスを使用してメンバーを「内部」としてマークし、そのタイプのユーザーはメンバーをそのままにしておくように求められます。

それ以外は、もちろん、プライベート(または内部)メソッドを使用する理由は、機能の一般的な部分をメソッドに抽出して、繰り返す必要がないようにするためです。

Pythonメンバーの欠落しているプラ​​イベート性の詳細については、この質問を参照してください。

于 2013-01-04T14:04:31.523 に答える
0

s同じクラスでsubOperationAsuboperationBを呼び出す操作operationAが あり、これらのメソッドは個々の操作としては意味がなく、データを操作し、予期しない実行(つまり、operationA以外のメソッドからの呼び出し)を防ぐ必要があるとします。したがって、privateを使用すると、メソッドを保護およびカプセル化して、メソッドの可視性を目的のスコープにのみ制限できます。

于 2013-01-04T14:10:24.260 に答える