在pythonDjango中,如何打印出对象的inrospection?该对象的所有公共方法的列表(变量和/或函数)?
例如:
def Factotum(models.Model):
id_ref = models.IntegerField()
def calculateSeniorityFactor():
return (1000 - id_ref) * 1000
我希望能够在Django shell中运行命令行,告诉我Django模型的所有方法。以上运行的输出将是:
>> introspect Factotoum
--> Variable: id_ref
--> Methods: calculateSeniorityFactor
发布于 2018-03-01 12:50:02
好的开始是:
>>> help(object)
>>> dir(object)
>>> object.__dict__
还可以查看标准库中的检查模块。
发布于 2018-03-01 13:49:45
使用检查:
import inspect
def introspect(something):
methods = inspect.getmembers(something, inspect.ismethod)
others = inspect.getmembers(something, lambda x: not inspect.ismethod(x))
print 'Variable:', # ?! what a WEIRD heading you want -- ah well, w/ever
for name, _ in others: print name,
print
print 'Methods:',
for name, _ in methods: print name,
print
在普通的Python shell中,如果没有括号,就无法调用它。
https://stackoverflow.com/questions/-100007470
复制相似问题