用点符号

时间:2017-08-09 14:47:39

标签: python module python-import

有人可以向我解释一下吗? 导入Tkinter.Messagebox时实际意味着什么(Dot Notation)? 我知道您可以导入Tkinter,但导入Tkinter.Messagebox时实际上是什么?这是一堂课内的课吗?

我是python中的新手,点符号有时会让我迷惑......!

2 个答案:

答案 0 :(得分:3)

当您在导入中添加该点时,您指的是您要导入的包/文件中的内容。 您导入的内容可以是类,包或文件,每次放置一个点时,您会在实例内部询问一些内容。

parent/
    __init__.py
    file.py
    one/
        __init__.py
        anotherfile.py
    two/
        __init__.py
    three/
        __init__.py

例如你有这个,当你传递import parent.file时你实际上导入了另一个可能包含类和变量的python模块,所以要引用你文件中的特定变量或类{{ 1}}例如。

这可能会更进一步,将包装导入另一个包或包内的文件内的类等(如from parent.file import class) 有关详细信息,请阅读Python documentation

答案 1 :(得分:2)

import a.bb导入名称空间a,您可以a.b访问它。请注意,这只适用于b是模块的情况。 (例如,Python 3中的import urllib.request

然而,

from a import bb导入当前名称空间,可由b访问。这适用于类,函数等。

使用from - import时要小心:

from math import sqrt
from cmath import sqrt

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