Python 为什么我们有时需要导入module1.module2,但有时不需要?
如果我们可以导入模块1,为什么我们需要导入模块1.module2 示例:Python 为什么我们有时需要导入module1.module2,但有时不需要?,python,python-3.x,import,Python,Python 3.x,Import,如果我们可以导入模块1,为什么我们需要导入模块1.module2 示例: 为什么我们需要导入tkinter.messagebox和导入tkinter.messagebox.askyesno(“blah text”),而我们也可以导入操作系统,但仍然可以操作系统路径.join(“/”,“blah”) 我经常在我的代码中使用import os,并且我在其他人的代码中看到了import tkinter.messagebox如果module1本身导入module2,您只能使用module1.module
为什么我们需要
导入tkinter.messagebox
和导入tkinter.messagebox.askyesno(“blah text”)
,而我们也可以导入操作系统
,但仍然可以操作系统路径.join(“/”,“blah”)
我经常在我的代码中使用
import os
,并且我在其他人的代码中看到了import tkinter.messagebox
如果module1
本身导入module2
,您只能使用module1.module2
而不进行显式导入。例如,os
在内部导入其他路径之一-处理模块(取决于操作系统)并调用它path
。这个path
只是OS
模块中的一个变量,允许您访问OS.path
模块。这是一个基本原理。通常,当人们执行
import os
通常,它们使用属于os.path
和os
的方法,比如os.path.abspath()
和os.getcwd()
。因此导入os
更有意义。如果您确信只使用os.path
中的方法,您也可以导入os.path
,这是非常好的
同样,如果您确定只使用tkinter.messagebox
中的方法,您也可以这样做
import tkinter.messagebox
因为使用
import os.path
,您只导入“path”,而使用import os
您可以导入os
中的所有内容。与从foo导入栏导入的与从foo导入的相同的区别*
谢谢!现在更有意义了!