python中import package的引用关系怎么确定?

在python的A包中,定义了类、方法;同时A包也import了B包,B包也定义了类、方法;第三,A包还import了python的内置包time。在dir(A)的时候,怎么分辨,哪些类、方法是来自time包,哪些类、方法来自B包,哪些类、方法来自A包自身的定义?

阅读 2.1k
1 个回答

那可能你需要的是 vars() 方法,相较于 dir() 方法可以得到更多的信息:

# a.py
from b import B
from time import time

class A:
  def aaa(self):
    print(time())
In [1]: import a

In [2]: dir(a)
Out[2]:
['A',
 'B',
 '__builtins__',
 ...,
 'time']

In [3]: vars(a)["A"]
Out[3]: a.A

In [4]: vars(a)["B"]
Out[4]: b.B

In [5]: vars(a)["time"]
Out[5]: <function time.time>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题