问题描述
PEP 8
应避免使用通配符导入(来自import *),因为它们不清楚命名空间中存在哪些名称,使读者和许多自动化工具混淆。
尽管如此, 仍然存在矛盾:
使用Tkinter只需一个简单的import语句即可:
import tkinter
或者,更常见的是:
from tkinter import *
这是一个“文档错误”吗?
1楼
我在这一点上提出了错误和共识(由Python核心开发人员达成)是虽然from tkinter import *
确实违反了PEP 8,但这是一个合理的例外,因为tkinter
“提供了大量的名称(大多数是像RIGHT一样的常量)这些方便使用,没有前缀。“或VERTICAL)
此外,PEP 8指出“不要为了遵守这个PEP而破坏向后兼容性!”
由于tkinter目前经常以这种方式导入,因此这种情绪适用于此。