5. 模块

1. 定义

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py
模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。

python模块是一个 python文件,定义了各种功能接口把复杂的功能封装为模块(又称为库),将功能实现的细节隐藏起来,使用该模块(库)的开发人员不需要了解实现的细节。通过调用模块封装好的功能,可以用仅仅几行 python代码实现某项复杂的功能,例如可以用一行代码就实现一个 Web 服务器。在 Python 的应用领域中,如:web 开发、人工智能、网络爬虫、数据分析等领域,已经存在了大量的模块,使用这些模块就可以轻松开发出应用程序。

import sys	# 引入模块
print(sys.path) # sys.path 包含了一个 Python 解释器自动查找所需模块的路径的列表

2. 模块分类

(1) 内置模块:由 python官方提供,包含在 python的安装包中,安装完 python 后即可使用。python 提供了多个内置模块,提供了日常编程中许多问题的标准解决方案,常见的内置模块如:os、sys、math、random、json、datetime等等。
(2) 第三方模块:由 python 爱好者提供,需要用户额外安装。

3. import语句

在 python 用 import 或者 from...import 来导入相应的模块。

import module1[, module2[,... moduleN]

一个模块只会被导入一次,不管你执行了多少次 import。这样可以防止导入模块被一遍又一遍地执行。
当我们使用 import 语句的时候,python 解释器是怎样找到对应的文件的呢?
这就涉及到 python 的搜索路径,搜索路径是由一系列目录名组成的,python 解释器就依次从这些目录中去寻找所引入的模块

搜索路径是在 python 编译或安装的时候确定的,安装新的库应该也会修改。搜索路径被存储在 sys 模块中的 path 变量

import sys
print(sys.path)

在这里插入图片描述

4. from…import语句

以下将模块名统一使用 module , 函数名使用function代替。
总之,整个语法格式就是这样:从 哪个模块之中 导入 哪些函数
(1) 从某个模块中导入某个/多个函数: from module import function1[,function2,function3…]
(2) 将某个模块中的全部内容导入: from module import *

5. 为导入的模块起别名

另外,我们可以导入的模块和函数起别命名,因为不同模块中的函数名有可能同名,此时就需要起别名了。
import module as modleName
from module import function as functionName

6. __name__属性

一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行
每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入


# temp.py
if __name__ == '__main__':
   print('程序自身在运行')
else:
   print('我来自另一模块')

在这里插入图片描述


# temp1.py
import temp

在这里插入图片描述

7. 用户自定义模块

模块 selfUtils.py:定义了函数 Add、函数 Sub 和变量 COUNT,它们是模块提供的接口;
主程序 main.py:使用模块的接口函数和导出变量。

# selfUtils.py
COUNT = 100

def Add(a, b):
    return a + b

def Sub(a, b):
    return a - b
# main.py
from selfUtils import Add	# 导入selfUtils模块中的Add接口
from selfUtils import Sub
from selfUtils import COUNT as count # 为导入的COUNT变量起别名

print('sum is:>', Add(1,2))
print('sub is:>', Sub(1,2))
print('count is:>', count)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@十三阿哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值