现在的位置: 首页 > 编程语言 > 正文

打印出python 当前全局变量和入口参数的所有属性

2018年10月31日 编程语言 ⁄ 共 720字 ⁄ 字号 评论关闭

def cndebug(obj=False):
 """
 Author : Nemon
 Update : 2009.7.1
 TO use : cndebug(obj) or cndebug() or MyObject.debug=cndebug
 License: GPL
 """
 print('='*80)
 print('='*30 + '  GLOBAL VARIABLES  ' +'='*30)
 print('='*80)
 g=globals()
 for x,y in g.iteritems():
  if x[:1]!='_':
   print ( x + ' := '+ str(type(y)))
   print ( y)
   print ( '')
 if obj:
  print('='*80)
  print('='*30 + '  LOCAL VARIABLES   ' +'='*30)
  print('='*80)
  for o in dir(obj):
   #if o[:1]!='_':
    print (o + ' := ' + str(type(getattr(obj,o))))
    print ( getattr(obj,o))
    print ( '')
 print('='*80)
 o=raw_input('PRESS <ENTER> TO RESUME...')
 del x,y,o

简单用法:

1)打印出python 当前全局变量

cndebug()#

 

2)打印出当前全局变量和myobj的所有属性

myobj={}

cndebug(myobj)

 

扩展用法——当作类方法,打印实例的成员

>>> class MyObj():
...   debug=cndebug
...
>>> myObj1=MyObj()
>>> myObj1.debug()

抱歉!评论已关闭.