Python で流暢なインターフェイスを試しています。
流暢な sql クエリ ジェネレーターの使用例は、次のようになります。
sql.select('foo').select('bar').from('sometable').tostring()
ネストされたクラスを再帰的に定義する機能がおそらく役立つことにすぐに気付きました。
class sql:
class select:
class select # <-- HERE
def __init__(self, dbcolumn, astype=None, asname=None):
self.dbcolumn = dbcolumn
self.astype = astype
self.asname = asname
コメント '# <-- HERE' でマークされた行:
このネストされたクラス参照が、含まれているクラスの同じ 'select' クラス定義を参照するようにします。
これはどういうわけか可能ですか?たぶん、私が気付いていないキーワードを使用していますか?