python函数深入浅出 10.import()函数详解

2,030 阅读1分钟

1.函数名及其来源

import() 函数命名来源于英文单词import(导入)。 用于导入非系统自带函数或库

import 函数的例子:

>>>import math
>>>math.floor(3.14)
3

如果不import直接使用:

>>> math.floor(3.14)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'math' is not defined

2.函数定义源码及其用法拆解

import() 函数用于加载类和函数 

常用的三种写法:

  • import xx导入模块对于模块中的函数,每次调用需要“模块.函数”来用。
  • from xx import fun 直接导入模块中某函数,直接fun()就可用。
  • from xx import * 该模块中所有函数可以直接使用。

如果import过程中出现importError多数情况是导入包的路径没有正确配置。

直接import xxx,默认会从当前路径导入,当前路径无法找到就会从sys.path中去寻找;

import查找所需模块路径列表配置于sys.path中,如果找不到情况,可以尝试将需要导入包的绝对路径加入sys.path.append(your_path)

3.版本差异

Python3开始,import 默认只做absolute import。也就是说pack包内的__init__.py中如果有一句import my_package,Python3会去找一个叫my_package的包,而不会去找pack.my_package包。

因为Python3是Python的未来,建议即使在Python2里也只使用absolute import。在所有python脚本头部第一个statement/expression出现前加入一行

from future import absolute_import

4.学习建议

python模块化编程需要import各种各样的函数和文件,熟练掌握import 是必备技能

对基础运行环境有疑问的,推荐参考:python函数深入浅出 0.基础篇