Python导入点符号

Kwn*_*sos 5 python module python-import

谁可以给我解释一下这个?当您导入时,Tkinter.Messagebox这实际上是什么意思(点符号)?我知道您可以导入,Tkinter但是导入时Tkinter.Messagebox实际上是什么?它是一堂课吗?

我是python的新手,有时点符号使我感到困惑。

WiG*_*eky 7

当您将那个点放在导入中时,您指的是要从中导入的包/文件中的某些内容。您导入的内容可以是一个类、包或一个文件,每次您输入一个点时,您都​​会询问它之前的实例内部的某些内容。

parent/
    __init__.py
    file.py
    one/
        __init__.py
        anotherfile.py
    two/
        __init__.py
    three/
        __init__.py
Run Code Online (Sandbox Code Playgroud)

例如,你有这个,当你通过时,import parent.file你实际上是在导入另一个可能包含类和变量的python模块,因此要引用该文件中的特定变量或类from parent.file import class,例如。

这可能会更进一步,在另一个包内导入一个包或在包内的文件内导入一个类等(如import parent.one.anotherfile)有关更多信息,请阅读Python 文档


Ful*_*gen 6

import a.b导入b到命名空间中a,您可以通过a.b. 请注意,这仅适用b于模块。(例如import urllib.request在 Python 3 中)

from a import b但是导入b到当前命名空间中,可以通过b. 这适用于类、函数等。

使用 from - import 时要小心:

from math import sqrt
from cmath import sqrt
Run Code Online (Sandbox Code Playgroud)

两个语句都将函数sqrt导入当前命名空间,但是,第二个 import 语句覆盖了第一个。