云计算|云计算开发学习笔记:Python3 import语句

来源 : 99API发布 : 2020-08-13 11:45:34访问数 : 3点赞数 : 1

  想使用 Python 源文件,只需在另一个源文件里执行 import 语句,语法如下:

bab0ed68db094794a6cd9c191f83175a.png

  当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。

  搜索路径是一个解释器会先进行搜索的所有目录的列表。如想要导入模块 support,需要把命令放在脚本的顶端:

8f9f01e5c9b741a48cf886537a7d888e.png

  test.py 引入 support 模块:

0defd2e90a214e6db81159a0987a2b60.png

  以上实例输出结果:

e0ed964a488a44b59c2a60aaec619852.png

  一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。当我们使用import语句的时候,Python解释器是怎样找到对应的文件的呢?

  这就涉及到Python的搜索路径,搜索路径是由一系列目录名组成的,Python解释器就依次从这些目录中去寻找所引入的模块。这看起来很像环境变量,事实上,也可以通过定义环境变量的方式来确定搜索路径。

  搜索路径是在Python编译或安装的时候确定的,安装新的库应该也会修改。搜索路径被存储在sys模块中的path变量,做一个简单的实验,在交互式解释器中,输入以下代码:

70e0b2397cbb45e6bb57a6149b873725.png

  sys.path 输出是一个列表,其中第一项是空串'',代表当前目录(若是从一个脚本中打印出来的话,可以更清楚地看出是哪个目录),亦即我们执行python解释器的目录(对于脚本的话就是运行的脚本所在的目录)。

  因此若像我一样在当前目录下存在与要引入模块同名的文件,就会把要引入的模块屏蔽掉。了解了搜索路径的概念,就可以在脚本中修改sys.path来引入一些不在搜索路径中的模块。现在,在解释器的当前目录或者 sys.path 中的一个目录里面来创建一个fibo.py的文件,代码如下:

c795c3b134354c4c860e94856c9670ed.png

  然后进入Python解释器,使用下面的命令导入这个模块:

40f31b54487b43fe8e7e3818a3a4a4bc.png

  这样做并没有把直接定义在fibo中的函数名称写入到当前符号表里,只是把模块fibo的名字写到了那里。

  可以使用模块名称来访问函数:

28ca8a9d24c74f448cfd34f552571d18.png

  如果你打算经常使用一个函数,你可以把它赋给一个本地的名称:

e310a1d20fcb4134a7270aeb55a56a49.png


1

电子邮箱:

service@99api.com

联系电话:

17350028402

微信客服:

电子邮箱:

service@99api.com

联系电话:

17350028402

微信客服: