おい、デザパタ不要の連中には隔離スレがあるだろ。
あっちいけあっち。お呼びでないんだよ。

で、Singletonが話題になるのは、pythonでは__init__をprivateに出来ないので
非常に難しいからだろ。つまり、他言語のgetInstance()の方式が使えない、
というか、getInstance()を使ってくれればいいが、使ってくれないと
普通にインスタンスが出来てしまうんじゃないのか、という疑問がある。

結局、
http://newworld.ddo.jp/doc/python-iaq-ja/index_html
にある
def singleton(object, instantiated=[]):
"Raise an exception if an object of this class has been instantiated before."
assert object.__class__ not in instantiated, \
"%s is a Singleton class but is already instantiated" % object.__class__
instantiated.append(object.__class__)


class YourClass:
"A singleton class to do something ..."
def __init__(self, args):
singleton(self)
を基になんとかするのが簡単そうでいいんじゃないかあ? あまり深く考察してないけど。

あと、マルチスレッドでの問題があるが(if的判断を含むものは、マルチスレッドでは
たしかそのままでは全滅と思うが?)、それはそれで別に考えると。
(でないと、ややこしくて死ぬ。Phthonでマルチスレッドは意味あるか、というのもあるし)