Pythonでは名前空間を定義するためのいくつかの提案を規範化しています。


APIのデザインは芸術活動です。往々にしてその簡単さ、分かりやすく、清潔さ、面倒なことではない。
多くの場合、私達は一階に一つの方法をカプセル化して高層に使っていますが、他の方法はこの方法を支援するためだけです。
つまり、私たちはこの方法を暴露すればいいです。この方法がどのように実現されるかに関心を持たなくてもいいです。他の補助方法の存在に関心を持たなくてもいいです。
Pythonでは、名前空間の綺麗さを維持するいくつかの戦略があります。
1.変数名に下線を引く_冒頭
下線_先頭の変数は他のモジュールfrom xxx import*の場合はimportには含まれません。
decimalのソースコードを見ると、何度もimportのモジュールをアンダーラインにしています。冒頭の別名。
http://hg.python.org/cpython/file/2.7/Lib/decimal.py
たとえば

import copy as _copy
import math as _math
import numbers as _numbers
これは卵の痛みではなく、生命空間を汚染しないためです。
2.定義_u uall_
pythonのマジックの方法は本当に柔軟です。
モジュールの中に3つの方法があると仮定します。a()、b()、c()
aを暴露するだけです。bとcを暴露する必要はありません。
この時all_=[a)
他のモジュールfrom xmodule import*の時はimport aだけです。
そして開発者がソースを読む時に、_u u u u u u u uを見ました。all_,暴露したいのはどのような方法ですか?コードの山ではなくて、手のつけようがないです。
3.この変数を使って削除します。
del xxxで削除します。
このようにdir(xxmodule)の時にdirを減らしてフルスクリーンの変数に出てきました。
同じくdecimalのソースコードでは、正規表現モジュールを使用した後、del reで削除されたことが見られます。
もう一つの方法は、import文を関数に置いて、局部的な作用領域に制限することです。この方法はpythonicではないと思います。