设为首页 收藏本站
查看: 675|回复: 0

[经验分享] Python使用inspect查看代码参数

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-12-3 10:14:46 | 显示全部楼层 |阅读模式
  使用import inspect查看python 类的参数和模块、函数代码
  文件就是最小的模块,文件夹是比较大的模块。
  文件里面可以包含类,函数。
  函数可以执行一个操作,多个函数组合在一起可以写为一个模块,根据不同事物写成一个类,这个类包含几个行为写成几个类内的函数,也可以将这些作为一个文件。
  主要步骤是将文件路径设置到系统,再将文件作为模块引入,再开始查看文件里面的内容。
  
  首先,写了一个函数



def h():
print "hello"
def hm(m,k):
print m, k

class w(object):
def __init__(a, self):
name =a
def g(self):
print name,"hello world!"
  保存在路径C:\下,起个名字叫hello.py
  打开python shell 窗口,将这个路径加入到系统路径里。命令如下
  import sys
  sys.path.append('C:/')
  将文件当做一个模块引入。
  import hello
  import inspect
  
  查看整个模块hello的源代码: inspect.getsource(hello)  整个样子不好看,需要print inspect.getsource(hello)
  查看模块hello里面wo这个类的全部代码  print inspect.getsource(hello.w)
  查看模块内某个函数的代码: print inspect.getsource(hello.h)
  查看模块内某个类中函数的代码 print inspect.getsource(hello.w.g)
  
  查看模块中某个函数的参数的代码:inspect.getargspec(hello.hm)
  查看模块中类的参数代码 inspect.getargspec(hello.w.__init__)   #这里还是查看类的初始定义函数。
  查看类中函数参数代码 inspect.getargspec(hello.w.g)
  查看模块路径 inspect.getabsfile(hello)   
  查看文件夹模块中某个类的路径 inspect.getabsfile(。。。)#结果是显示类的初始定义函数__init__.py的位置。
  
  
  >>> inspect.getabsfile(django.db)
  'c:\\python27\\lib\\site-packages\\django-1.7.1-py2.7.egg\\django\\db\\__init__.py'
  综上,最重要的是要记住,
  查看全部代码 inspect.getsource(模块.函数)或者(模块.类.函数)
  查看函数参数 inspect.getargspec(...)   查看类的参数,则括号里为(模块.类.__init__)
  查看函数的位置 inspect.getabsfile(...)
  
  这些应该够学习用了。以后有什么再补充。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-146683-1-1.html 上篇帖子: Python win32打印示例 下篇帖子: [转]关于Python中的yield
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表