58. 什么是Python的名字空间(namespace)?

名字空间是变量存储的地方,名字空间就是为防止变量名字冲突。通过引入名字空间,也可以增加代码的可读性。

模块是什么?

在Python中,模块是组织程序的一种方式。每一个Python代码文件都是一个模块,并可以使用其他的模块。

每一个模块就是一个独立的名字空间,在一个模块中需要使用另外一个模块的函数或变量,就需要进行导入。

包是什么?

一个包含许多Python代码的文件夹是一个包。一个包可以包含若干个模块和子文件夹。 他把多个有联系模块组织在一起,可以优化程序的目录结构。包的目录下通常放有一个 __init__.py文件,它在包导入时执行,也可以没有该文件。

什么是导入?

python中在每一个文件中定义的变量,如果在另外一个文件中进行访问,那就都需要进行导入才能 访问。在导入时,根据导入方法的不同,而采用不同的访问方法。

如果import sys, 则方法sys包里面的path时,需要加sys, 即sys.path来访问. 如果不加将会出现以下 错误:

NameError: name ‘path’ is not defined

如果使用from sys import path来进行导入,则直接可以使用path来访问,因为其已经在当前名字空间了。

模块导入通常要按照以下顺序进行导入。

  • Python 标准库模块

  • Python 第三方模块

  • 应用程序自定义模块

然后使用一个空行分割这些导入语句。