敬虔な Pythonista の皆さんには叱られそうな話題ですが、埋め込み Python 環境で名前空間を汚さずに処理がしたいという状況で、下記のようなコードを使ってローカルスコープを作ってみました。
動作は Python 2.7.4/3.3.1 で確認していますが、大したことはしていませんので他のバージョンでも動くと思います。
localscope.py
DummyClassForLocalScope = "global value"
try:
class DummyClassForLocalScope:
# you can write any code here
raise RuntimeError("Exit from local scope")
except RuntimeError as exception:
if exception.args != ("Exit from local scope",):
raise exception
print(DummyClassForLocalScope)
class文でローカルスコープを作り、ローカルスコープの最後で例外を発生させることでクラスの作成をキャンセルしているだけです。
間違っても多用はしたくありませんが、JavaScriptの(function(){...}());
的なことがどうしてもしたい場合は、こんな方法もありますよということで。