1. アンダーバーで始まるけど見える・・・
# module1.py
def func1():
print "this is func1."
# アンダーバーで始まる名前の変数、関数、クラスは
# 外部からは見えないけど・・・
def _func2():
print "this is _func2."
# __all__ に定義すればモジュールの外から見える。
# 特に意味も無いが。。。
__all__ = ['func1', '_func2']
2. グローバル変数を無理やり定義しちゃう
__builtins__.func = lambda x, y: x * y
__builtins__.foo = 'something'
print foo
print func(5, 8)
どこでも利用可能になる。
これは一般的に当然お勧めしないやり方。
どうしてもグローバル変数を使いたいのなら、
# my_globals.py
foo = 'something'
============
import my_globals
print my_globals.foo
モジュールを使用するのが、まだクリーンな方法。
