【发布时间】:2010-10-13 00:47:31
【问题描述】:
以下代码
import types
class A:
class D:
pass
class C:
pass
for d in dir(A):
if type(eval('A.'+d)) is types.ClassType:
print d
输出
C
D
如何让它按照代码中定义这些类的顺序输出?即
D
C
除了使用inspect.getsource(A) 和解析之外,还有什么办法吗?
【问题讨论】:
-
你为什么要这样做?
-
django 的表单和模型声明尝试按照输入的顺序进行。然而,属性是实例而不是类声明。我试图弄清楚类声明是否可以如此排序,因为这将有助于自动模板生成。
-
对于这样一个奇怪的问题,最好解释一下为什么你想做你想做的事情并添加一个 django 标签。
标签: python introspection python-datamodel