[英]When importing tkinter's “messagebox” module, does the “import tkinter.messagebox” syntax not work?
既然“messagebox”是“tkinter”包中的一个模块,那我为什么要使用
from tkinter import messagebox
代替
import tkinter.messagebox
我的印象是要在包中导入模块,我必须使用以下语法:
import package_name.module_name
谢谢你的帮助。
导入 tkinter.messagebox 确实有效(至少在 should 和 3.4 中确实如此,也许其他版本中可能存在错误) ,但它被导入为tkinter.messagebox
,编写起来既乏味又冗长,如果其余的tkinter
正在被使用,这样做是没有意义的,因为tkinter.messagebox
已经被间接导入了。 所以通常from tkinter import messagebox
被认为更容易,并且不会丢失太多,如果有任何可读性的话。
导入 tkinter 时,messagebox 以及其他一些模块(如 filedialog)不会自动导入。 根据需要使用 as 和/或 from 显式导入它。 检查以下 3 个示例以获得更好的说明-
>>> import tkinter
>>> tkinter.messagebox.showinfo(message='hi')
Traceback (most recent call last): File "", line 1, in AttributeError: 'module' object has no attribute 'messagebox'
.
>>> import tkinter.messagebox
>>> tkinter.messagebox.showinfo(message='hi')
'ok'
.
>>> from tkinter import messagebox
>>> messagebox.showinfo(message='hi')
'ok'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.