文章目录

  • 什么是模块
  • 模块的创建与使用
  • 模块的导入
  • 模块的搜索
  • 搜索顺序
  • 配置搜索路径
  • 包导入实例


什么是模块

学过C语言的都知道,如果要使用sqrt函数,必须要用语句 #include <math.h> 引入 math.h 这个头文件,否则无法正常调用sqrt函数的的。

那么在Python中,如果要引用一些其它的函数,该怎么处理呢?


在Pyhon中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块。

说的通俗点:模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块。

python中import as怎么用 python中import this_机器学习


作用

  • 提高了代码的可维护
  • 提高了代码的可重用性
  • 避免了函数名和变量名冲突
  • 实现服务和数据的共享

模块的创建与使用

python中import as怎么用 python中import this_编程语言_02


python中import as怎么用 python中import this_大数据_03


python中import as怎么用 python中import this_大数据_04


模块的导入

模块的导入三种方式

import x
from X import *
from X import a,b,c

python中import as怎么用 python中import this_编程语言_05


as语句对导入的模块进行重命名,这样在之后就可以就重命名的名字来使用这个模块了。

python中import as怎么用 python中import this_编程语言_06


python中import as怎么用 python中import this_python_07


from X import *会取得模块顶层所有赋了值的变量名。

python中import as怎么用 python中import this_编程语言_08


python中import as怎么用 python中import this_python中import as怎么用_09


python中import as怎么用 python中import this_机器学习_10


python中import as怎么用 python中import this_python中import as怎么用_11

python中import as怎么用 python中import this_大数据_12

简单地说,在执行a.pyimport b 时,会把b.py 的代码除了 __name__ == 'main'的部分外都执行一遍。

from b import pi

等价于

import b
pi = b.pi # 赋值
del b

python中import as怎么用 python中import this_大数据_13


之前from bimport b并不会把b.py再执行一遍,但现在可以获取b.lst,且发现b.lst已经被更改了,因为列表是引用变量。

需要注意的情况

python中import as怎么用 python中import this_机器学习_14


模块的搜索

搜索顺序

python中import as怎么用 python中import this_大数据_15


python中import as怎么用 python中import this_大数据_16


python中import as怎么用 python中import this_python中import as怎么用_17

配置搜索路径

python中import as怎么用 python中import this_python_18


python中import as怎么用 python中import this_python中import as怎么用_19


python中import as怎么用 python中import this_python中import as怎么用_20


python中import as怎么用 python中import this_python中import as怎么用_21


包导入实例

python中import as怎么用 python中import this_python_22


实例

python中import as怎么用 python中import this_编程语言_23


python中import as怎么用 python中import this_机器学习_24


python中import as怎么用 python中import this_大数据_25


python中import as怎么用 python中import this_python中import as怎么用_26


python中import as怎么用 python中import this_大数据_27


python中import as怎么用 python中import this_机器学习_28


python中import as怎么用 python中import this_大数据_29


python中import as怎么用 python中import this_大数据_30


python中import as怎么用 python中import this_机器学习_31


作用

  • 包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py文件,那么这个文件夹就称为包。
  • 有效避免模块名称冲突问题,让应哟组织结构更加清晰。
  • 包可以逐层嵌套,导入时用点号运算符逐层引用。