我正在寫一個包含幾個嵌套類小Python應用程序,如下面的例子:python - 如何獲得內部類的列表?
class SuperBar(object):
pass
class Foo(object):
NAME = 'this is foo'
class Bar(SuperBar):
MSG = 'this is how Bar handle stuff'
class AnotherBar(SuperBar):
MSG = 'this is how Another Bar handle stuff'
我使用嵌套類來創建某種層次結構,並提供一個乾淨的方式來實現的功能爲解析器。
在某些時候,我想創建一個內部類的列表。我想有以下輸出:
[<class '__main__.Bar'>, <class '__main__.AnotherBar'>]
的問題是:什麼是推薦的方法,以獲取在Python的方式內部類的列表?
1.你爲什麼要嵌套班,你能給出更多的背景嗎? 2.你不是隻想要'SuperBar'的所有子類(在這種情況下請參閱http://stackoverflow.com/q/3862310/3001761)? – jonrsharpe
這還不夠。在實際的應用程序中,我有更多的根類,比如'Foo',有更多的內部類來完成解析樹。我還需要強制執行一個給定的令牌(比如'Bar')來到根令牌'Foo'的上下文中。爲了捕獲這種層次結構,我使用這些內部類。 - 謝謝 –
然後[編輯]給更多的上下文。你可能試圖完全解決錯誤的問題。 – jonrsharpe