我知道这是一个愚蠢的问题,但我刚开始学习Python和我没有蟒蛇的良好的知识。 我的问题是之间有什么区别
from Tkinter import *
和
import Tkinter as tk
?为什么我不能只是写
import Tkinter
任何人都可以花几分钟分钟赐教?
我知道这是一个愚蠢的问题,但我刚开始学习Python和我没有蟒蛇的良好的知识。 我的问题是之间有什么区别
from Tkinter import *
和
import Tkinter as tk
?为什么我不能只是写
import Tkinter
任何人都可以花几分钟分钟赐教?
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 object
或from module import object as whatiwantittocall
。
当你想一些模块的功能,你import module
,或import module as shortname
为您节省打字。
from module import *
气馁,因为你可能会意外地影(“覆盖”)的名称,并可以跟踪哪个对象属于至极模块。
你当然可以使用
import Tkinter
但是,如果你这样做,你必须前缀你使用的每一个Tk的类名Tkinter.
。
这是相当不方便。
在另一方面,如下:
import Tkinter as tk
回避只会要求你输入问题tk.
而不是Tkinter.
。
至于:
from Tkinter import *
它一般是一个坏主意,在讨论的原因避免时应通配符进口?
写作:
from tkinter import *
结果在进口存在于一切tkinter
模块
写作:
import tkinter
结果在导入tkinter
模块,但如果这样做,为了能叫你将不得不使用任何方法:
tkinter.function_name()