为什么我们有时需要导入module1.module2但有时不需要?

时间:2014-04-16 21:18:56

标签: python python-3.x import

如果我们可以import module1.module2,我们为什么需要import module1示例:
当我们也可以执行import tkinter.messagebox并且仍然可以执行tkinter.messagebox.askyesno(“blah text”)时,为什么我们需要import os并执行os.path.join(“/“, “blah”)

我定期在代码中使用import os,并在其他人的代码中看到import tkinter.messagebox

2 个答案:

答案 0 :(得分:2)

如果module1.module2本身导入module1,则只能在没有明确导入的情况下使用module2。例如,os在内部导入其他几个路径处理模块之一(取决于操作系统)并将其称为path。这个path只是os模块中的一个变量,可以让您访问os.path模块。

答案 1 :(得分:1)

这是一个基本原理。一般来说,当人们做一个

import os

通常,他们使用同时​​属于os.pathos的方法,例如os.path. abspath()os.getcwd()。因此导入os更有意义。如果你确信你将只使用os.path中的方法,你也可以使用import os.path,这完全没问题。

同样,如果您确定要使用tkinter.messagebox中的方法,那么

import tkinter.messagebox