python中inspect使用

本文介绍如何利用inspect函数获取Python对象的多种属性,包括类型、模块、类、方法和代码,通过实例展示了如何检查模块、类、方法的存在及获取它们的相关信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    利用inspect函数可以获取类中的docs, 类名,类以及类的代码,是否存在的模块等等。

#! /usr/bin/env python
# -*- coding: utf-8 -*- 
import inspect 
   
import os  
   
class Test(object):
    """Test Class """ 
    def test(self):
        self.fuc = lambda x:x  
   
class Testone(Test):
    pass  
   
   
#检查类型,模块,类,方法,生成器,代码等都可以 
print inspect.ismodule(os)  
print inspect.isclass(Test)  
   
print inspect.getdoc(Test) 
print inspect.getsourcefile(Test) #文件路径 
print inspect.getsourcelines(Test) #代码块,每行一个元素,组成数组 
print "-"*30
print inspect.getsource(Test) #代码块 带缩进 
#   
##打印全局变量中的模块对象 
print "-"*30
myglobals = {} 
myglobals.update(globals()) 
modules = [value 
           for key, value in myglobals.items() 
           if inspect.ismodule(value)] 
print modules   
#   
print "*"*30
##查看类的可调用方法 
for name, value in inspect.getmembers(Test, callable):
    print "    Callable:", name 
   
for name, value in inspect.getmembers(Test(), callable):
    print "   Instance Callable:", name 
print "="*30
   
   
def hello():
    print inspect.stack()[0][3]
    print inspect.stack() 
hello()

以上代码是引用自网上某处代码,如果侵犯版权,请在下面留言,我会删掉或者自己修改一下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值