如何在python导入中区分包,模块,类,函数

时间:2018-03-24 03:25:40

标签: python python-import

使用有效的python源文件,是否可以在以下import语句中告知c的性质?

from a.b import c

例如,c是一个包,一个模块,一个类,一个变量,一个函数? ast模块会帮助完成这项任务吗?是否会进一步研究c帮助的用法?

或者我们是否必须执行此语句并查看c的属性来告诉?

这样做的动机是对代码库进行一些分析,以了解哪些包/模块被大量使用,以及文件如何相互关联。

1 个答案:

答案 0 :(得分:0)

如果您所做的只是收集有关套餐/模块使用情况的一些数据,您可以使用type(..)来了解c,但我不建议您使用此功能任何生产代码。

例如,

>>> from random import randint
>>> type(randint)
<class 'method'>
>>> import random
>>> type(random)
<class 'module'>
>>> def a():
...     print()
...
>>> type(a)
<class 'function'>