进口Tkinter的区别传统知识和Tkinter的进口(Difference between imp

2019-08-22 08:51发布

我知道这是一个愚蠢的问题,但我刚开始学习Python和我没有蟒蛇的良好的知识。 我的问题是之间有什么区别

from Tkinter import *

import Tkinter as tk

?为什么我不能只是写

import Tkinter

任何人都可以花几分钟分钟赐教?

Answer 1:

from Tkinter import *进口每次暴露在Tkinter的对象插入到当前的命名空间。 import Tkinter导入“命名空间”的Tkinter在您的命名空间,并import Tkinter as tk不一样,但“重命名”在本地为“TK”来拯救你打字

假设我们有一个模块FOO,含有类A,B和C.

然后import foo ,您可以访问foo.A,foo.B和foo.C.

当你做import foo as x你有机会获得这些呢,但是名下XA,XB和XC from foo import *将导入A,B和C直接在当前的命名空间,所以你可以用一个访问它们, B,和C.

还有from foo import A, C至极将导入A和C,但是不是B到当前的命名空间。

您也可以from foo import B as Bar ,这将使名称栏(在当前的命名空间)下有效硼。

所以一般:当你想要一个模块只有一个对象,你from module import objectfrom module import object as whatiwantittocall

当你想一些模块的功能,你import module ,或import module as shortname为您节省打字。

from module import *气馁,因为你可能会意外地影(“覆盖”)的名称,并可以跟踪哪个对象属于至极模块。



Answer 2:

你当然可以使用

import Tkinter

但是,如果你这样做,你必须前缀你使用的每一个Tk的类名Tkinter.

这是相当不方便。

在另一方面,如下:

import Tkinter as tk

回避只会要求你输入问题tk. 而不是Tkinter.

至于:

from Tkinter import *

它一般是一个坏主意,在讨论的原因避免时应通配符进口?



Answer 3:

写作:

from tkinter import * 

结果在进口存在于一切tkinter模块

写作:

import tkinter

结果在导入tkinter模块,但如果这样做,为了能叫你将不得不使用任何方法:

tkinter.function_name()


文章来源: Difference between import tkinter as tk and from tkinter import