我是Python编程的新手。 我正在使用tkinter模块为图形用户界面导入内容。
我通过键入以下语句从tkinter模块导入所有内容:
from tkinter import *
尽管我们已经使用tkinter中的上述语句导入了所有内容,但为什么仍需要从与simpledialog
之类的同一模块中分别导入某些类?
from tkinter import simpledialog
不单独导入simpledialog
会引发错误。
答案 0 :(得分:2)
是的,它确实会引发错误,因为 simpledialog 并非直接是 tkinter 的模块。
基本上,模块是每个文件,文件扩展名为.py,并且由适当的Python代码组成。使此类文件成为模块不需要任何特殊语法。模块可以包含任意对象,例如文件,类或属性。导入后可以访问所有这些对象。
如果您执行 dir(tkinter) 而不显式导入simpledialog,它将显示除simpledialog之外的结果。
这是由于库的结构。它不会自动导入tkinter的所有模块。一旦使用了 import tkinter.simpledialog ,它将向您显示simpledialog模块,这意味着simpledialog从未从tkinter导入。
此外,建议使用 import tkinter ,而不是从tkinter import astrik 来的 在交互式Python Shell中。原因之一是名称的来源可能非常晦涩,因为无法看到它可能是从哪个模块导入的。