请解释tkinter全球导入方法的基本原理

时间:2013-09-17 20:50:13

标签: python tkinter

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

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

  

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

import Tkinter
     

或者,更常见的是:

from Tkinter import *

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

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

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

2 个答案:

答案 0 :(得分:2)

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

Tkinter(以及它的示例代码)可以追溯到二十世纪,因此它不一定符合PEP 8,这是一个非常二十一世纪的文件。

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

答案 1 :(得分:1)

当您编写GUI应用程序时,您会非常密切地使用其API,而不像其他任何应用程序。按钮,文本条目,事件等等。导入所有内容非常实用。