2

这是一个基本问题,所以如果之前出现过,我深表歉意。我搜索了 stackoverflow 和其他地方,但找不到明确的答案。

我很好奇为什么 tkinter 示例通常使用全局导入方法。甚至 Python 文档也指出这是更常见的使用方法:

...要使用 Tkinter,您需要做的就是导入一个模块:

import Tkinter

或者,更常见的是:

from Tkinter import *

http://docs.python.org/2/library/tkinter.html

我认为全球进口通常不受欢迎?假设这是真的,在这种情况下必须有充分的理由使用全局导入。有人可以启发我吗?

编辑:发布问题后(并收到几个有用的回复 - 谢谢!),我还发现了以下有用的线程: Tkinter importing without *?

4

2 回答 2

2

是的,出于各种原因,全球进口通常不受欢迎。然而,一个 Tkinter 程序将使用很多 Tkinter 功能,因此全局导入被许多开发人员视为节省时间。假设名称冲突很少见,因为您不太可能定义自己的 GUI 类以及需要类似名称的东西。如果是,您将不会使用全局导入。

而且 Tkinter(如果它的示例代码还有很多)可以追溯到 20 世纪,因此它不一定遵守 PEP 8,这在很大程度上是 21 世纪的文档。

现代的折衷方案是import Tkinter as tk使用,然后使用tk.Button等。这比 键入更容易tkinter.Button但比 更清晰Button,特别是如果您正在编写软件来运行按钮工厂。

于 2013-09-17T21:01:09.770 回答
1

当您编写一个 GUI 应用程序时,您会非常密集地使用它的 API,这与其他任何事情都不同。按钮、文本条目、事件等等。只导入所有内容非常实用。

于 2013-09-17T21:01:54.663 回答