在tkinter中使用import*方法是不好的做法吗?

use*_*512 0 python tk-toolkit tkinter python-3.x

从我读过的内容和给出的理由,我知道这种from foo import *方法是不好的做法,因为变量赋值的复杂性以及内存问题.但是,该tkinter模块是否会成为此规则的例外?

我认为在使用GUI时,可能会考虑使用相应模块中的大多数功能/方法,与之类似itertools,可能只需要访问少数几个模块(一个不需要使用permutations combinations).

无论是否tkinter是例外,是否有任何模块?

Ant*_*ala 5

有很多问题from foo import *; 它可以导入许多你不期望的东西,尤其是覆盖内置函数名称或从其他模块导入的东西.更糟糕的是,你的程序现在可能正常工作,但是在更高版本中,foo模块的作者在模块中添加了函数bar,如果预期的话,你的代码可能会突然中断bar.

使用长模块的首选方法通常是使用短别名导入模块:

import tkinter as tk
Run Code Online (Sandbox Code Playgroud)

然后使用例如tk.Button.这是文档使用的习语.