首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在pythonDjango中,如何打印出对象的内省?该对象的所有公共方法的列表(变量和/或函数)?

在pythonDjango中,如何打印出对象的内省?该对象的所有公共方法的列表(变量和/或函数)?
EN

Stack Overflow用户
提问于 2018-03-01 04:13:44
回答 2查看 0关注 0票数 0

在pythonDjango中,如何打印出对象的inrospection?该对象的所有公共方法的列表(变量和/或函数)?

例如:

代码语言:txt
复制
def Factotum(models.Model):
  id_ref = models.IntegerField()

  def calculateSeniorityFactor():
    return (1000 - id_ref) * 1000

我希望能够在Django shell中运行命令行,告诉我Django模型的所有方法。以上运行的输出将是:

代码语言:txt
复制
>> introspect Factotoum
--> Variable: id_ref
--> Methods: calculateSeniorityFactor
EN

回答 2

Stack Overflow用户

发布于 2018-03-01 12:50:02

好的开始是:

代码语言:txt
复制
>>> help(object)
>>> dir(object)
>>> object.__dict__

还可以查看标准库中的检查模块。

票数 0
EN

Stack Overflow用户

发布于 2018-03-01 13:49:45

使用检查:

代码语言:txt
复制
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中,如果没有括号,就无法调用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档