我正在尝试使用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'类定义。
这种可能性是否存在?也许使用一些我不知道的关键字可以实现吗?
select
是sql
上的一个方法;它可以返回一个类,但它本身不是一个类。 - Martijn Pieterssql.select
示例告诉我你希望它像方法一样工作。 - Martijn Pieters