Difference between import tkinter as tk and from tkinter import

前端 未结 3 514
陌清茗
陌清茗 2020-12-01 08:24

I know it is a stupid question but I am just starting to learn python and i don\'t have good knowledge of python. My question is what is the difference between



        
3条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-01 08:50

    from Tkinter import * imports every exposed object in Tkinter into your current namespace. 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 typing

    let's say we have a module foo, containing the classes A, B, and C.

    Then import foo gives you access to foo.A, foo.B, and foo.C.

    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.

    There is also from foo import A, C wich will import A and C, but not B into your current namespace.

    You can also do from foo import B as Bar, which will make B available under the name Bar (in your current namespace).

    So generally: when you want only one object of a module, you do from module import object or from module import object as whatiwantittocall.

    When you want some modules functionality, you do import module, or import module as shortname to save you typing.

    from module import * is discouraged, as you may accidentally shadow ("override") names, and may lose track which objects belong to wich module.

提交回复
热议问题