原文https://stackoverflow.com/questions/15974787/difference-between-import-tkinter-as-tk-and-from-tkinter-importide
from Tkinter import *
imports every exposed object in Tkinter into your current namespace. spa
import Tkinter
imports the "namespace" Tkinter in your namespace and import Tkinter as tk
does the same, but "renames" it locally to 'tk' to save you typingcode
let's say we have a module foo, containing the classes A, B, and C.ci
Then import foo
gives you access to foo.A, foo.B, and foo.C.it
When you do import foo as x
you have access to those too, but under the names x.A, x.B, and x.C. from foo import *
will import A, B, and C directly in your current namespace, so you can access them with A, B, and C.io
There is also from foo import A, C
wich will import A and C, but not B into your current namespace.function
You can also do from foo import B as Bar
, which will make B available under the name Bar (in your current namespace).class
So generally: when you want only one object of a module, you do from module import object
or from module import object as whatiwantittocall
.import
When you want some modules functionality, you do import module
, or import module as shortname
to save you typing.module
from module import *
is discouraged, as you may accidentally shadow ("override") names, and may lose track which objects belong to wich module.