from tkinter import *
from tkinter import messagebox
我想知道这两者的区别是什么。*会把所有的模块和函数从tkinter导入到项目中,那么为什么我们需要单独导入messagebox呢?
如果您使用import *导入了所有模块,则不再需要为特定模块导入,但这将比仅导入特定模块使用更多内存
在from tkinter import *
中,您可以参考tkinter
模块中的每一件事。因为它将名称直接导入到本地命名空间中,所以如果从许多模块导入内容,就会产生潜在的冲突。因此,不鼓励使用from tkinter import *
。
在from tkinter import messagebox
中,它只将messagebox
导入到本地命名空间,而不是tkinter
中的所有内容。这是更好的,因为如果您列出您导入的名称,您确切地知道要导入的是什么,并且更容易避免名称冲突。