1. ホーム
  2. パイソン

[解決済み】pythonでプライベートモジュール関数を定義する

2022-04-01 09:46:38

質問

によると http://www.faqs.org/docs/diveintopython/fileinfo_private.html :

ほとんどの言語がそうであるように、Pythonにも という概念があります。

  • プライベート から呼び出すことができない関数です。 モジュール外の

しかし、2つのファイルを定義すると

#a.py
__num=1

とします。

#b.py
import a
print a.__num

を実行すると b.py と表示されます。 1 例外を発生させることなく diveintopythonがおかしいのか、それとも私が何かを勘違いしているのか?また する モジュールの関数をprivateとして定義することはできますか?

どのように解決するのですか?

Pythonでは、quot;プライバシー"は、quot;同意する大人の同意のレベルに依存します - あなたはできません。 を、(現実の生活ではありえないことですが;-)。 先頭のアンダースコア1つは、あなたが と思われる にアクセスすることができます。 しかし、結局のところ、社会通念やコンセンサスに依存することに変わりはありません。Pythonのイントロスペクションは十分に力強いので、あなたは ハンドカフ は、世界中のプログラマーがあなたの希望を尊重するよう求めています。

((ちなみに、あまり知られていないことですが、C++でも同じことが言えます。ほとんどのコンパイラで、単純な #define private public の前の行に #include を入力します。 .h ファイルを作成するだけで、狡猾なコーダーがあなたの"privacy"をハッシュ化します...!-))