と、思います。
自分自身への参照が欲しくなったら、モジュール内に
import sys
self = sys.modules[__name__]
などと書いておくと便利です。
python3系を使っているのであれば
import importlib
self = importlib.import_module(__name__)
でも良いです。
なぜ唐突にこういうことを言いたくなったかというと、昔書いたこういうコードを眺めていて本当に黒歴史だったなと思ったからです。普通にhogefactory.pyというモジュールにcreate関数を定義するだけで良い。
somemodule.py
class HogeFactory:
@staticmethod
def create(params):
""" Hogeオブジェクトを生成して返すメソッド """
# 色々と複雑な処理
# ...
return Hoge(some_args, some_kwargs)
余談ですが、pythonのstaticmethodってどういう時に使えば良いのでしょうか?最近書いた覚えがありません。