在使用不同的模块处理问题时,都需要配合函数的使用。鉴于小伙伴们在处理python问题上,喜欢尝试使用不同的方法,最后得出哪一种方法最好用的结论,小编决定为大家更新一些函数的讲解,有助于大家在解决问题的时候,可以试着调用不同的函数在处理。今天就查看类中函数的问题,为大家带来代码的示例讲解。
inspect可以查看函数的代码,参数,以及路径
查看函数的路径 inspect.getabsfile(...)
查看全部代码 inspect.getsource(模块.函数)或者(模块.类.函数)
查看函数参数 inspect.getfullargspec(...) 查看类的参数,则括号里为(模块.类.__init__)
inspect.getabsfile(plt.figure) #查看`plt.figure`的路径 'c:\\users\\administrator\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\matplotlib\\pyplot.py'
Function
inspect.signature(obj, *, follow_wrapped=True) return signature类型的对象,值为函数的所有参数 inspect.signature(fun).parameters return orderdict key就是参数名 str类型 inspect.getmembers(module) return module的所有成员的name和obj类型 inspect.isclass(obj) return boolean判断一个对象是否是类
获取某个类中的函数:
for i in inspect.getmembers(Page): #获取Page类中的所有成员方法,i返回的是一个元祖,第一个元素是方法名,第二个是内存地址 if inspect.isfunction(i[1]): #判断成员是不是一个函数方法 print(i[1].__doc__) #是打印他的doc """下面可以写出带序号的方法""" driver = [] print(Page.context_click.__doc__) for i in inspect.getmembers(Page): if inspect.isfunction(i[1]): driver.append(i[1].__doc__) for i in enumerate(driver): print(i)
本篇文章我们从inspect函数的概念入手,在了解了它的使用功能后,就可以解决查看类中函数的问题了。inspect函数代码都分享给了小伙伴们,可以每个都运行尝试一遍。