Python 中的模块是什么?(python中模块的意义)
off999 2024-10-02 18:41 26 浏览 0 评论
本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注!
作者| 慕课网精英讲师 朱广蔚
Python 模块是一个 Python 文件,定义了各种功能接口。把复杂的功能封装为模块(又称为库),将功能实现的细节隐藏起来,使用该模块(库)的程序员不需要了解实现的细节。通过调用模块封装好的功能,可以用仅仅几行 Python 代码实现某项复杂的功能,例如可以用一行代码就实现一个 Web 服务器。
在 Python 的应用领域中,如:web 开发、人工智能、网络爬虫、数据分析等领域,已经存在了大量的模块,使用这些模块就可以轻松开发出应用程序。
1. 内置模块
Python 中的模块分为两类:
- 内置模块,由 Python 官方提供,包含在 Python 的安装包中,安装完 Python 后即可使用
- 第三方模块,由 Python 爱好者提供,需要用户额外安装
Python 提供了多个内置模块,提供了日常编程中许多问题的标准解决方案,常见的内置模块如下:
模块名 | 功能描述 |
os | 提供操作系统的 IO 访问等功能 |
sys | 提供获取命令行参数等功能 |
math | 提供各种常见的数学运算函数 |
random | 提供产生随机数的功能 |
json | 提供对 json 文件的解析功能 |
datetime | 提供日期、时间的相关功能 |
2. 模块语法
2.1 math 模块简介
Python 的 math 模块提供了很多数学运算功能,例如:三角函数、求平方根、求对数等功能:
函数接口 | 功能描述 |
fabs | 计算绝对值 |
sin | 正弦函数 |
cos | 余弦函数 |
sqrt | 求平方根 |
2.2 import 语句
import 语句将指定模块名的模块导入到程序中,然后程序即可使用模块中定义的函数,语法如下:
import 模块名
代码块1
使用 import 语句的示例如下:
>>> import math
>>> math.fabs(-123.0)
123.0
代码块123
- 在第 1 行,引入 math 模块
- 在第 2 行,使用 math 模块中的 fabs 函数求绝对值
2.3 import … as 语句
import … as 语句为模块取一个别名,程序可以使用模块的别名访问模块中的接口函数,语法如下:
import 模块名 as 别名
代码块1
使用 import … as 语句的示例如下:
>>> import math as m
>>> m.fabs(-123.0)
123.0
代码块123
- 在第 1 行,引入 math 模块,设置模块的别名为 m
- 在第 2 行,通过模块的别名 m 访问模块
2.4 from … import 语句
from … import 语句从指定模块中导入指定函数,程序可以通过函数名直接访问模块中定义的函数,语法如下:
from 模块名 import 函数名
代码块1
使用 from … import 语句的示例如下:
>>> from math import fabs
>>> fabs(-123.0)
123.0
代码块123
- 在第 1 行,从 math 模块中引入函数 fabs
- 在第 2 行,通过函数名 fabs 访问模块中定义的函数
2.5 from … import … as 语句
from … import … as 语句从模块中导入函数,同时为导入的函数取一个别名,示例如下:
>>> from math import fabs as abs
>>> abs(-123.0)
123.0
代码块123
- 在第 1 行,从 math 模块中引入函数 fabs,并为该函数设置别名 abs
- 在第 2 行,通过函数的别名 abs 访问模块中定义的函数
2.6 from … import * 语句
from … import * 语句导入模块中全部的功能函数,示例如下:
>>> from math import *
>>> fabs(-123.0)
123.0
>>> sqrt(9)
3.0
代码块12345
- 在第 1 行,从 math 模块中导入全部的功能函数
- 在第 2 行,使用 math 模块中定义的函数 fabs 求绝对值
- 在第 4 行,使用 math 模块中定义的函数 sqrt 求平方根
3. 用户自定义模块
3.1 概述
本篇文章讲解了如何自定义模块和使用模块,例子程序包括两个文件:
- 模块 utils.py,定义了函数 max、函数 min 和变量 PI,它们是模块提供的接口
- 主程序 main.py,使用模块的接口函数和导出变量
3.2 定义模块
编写程序 utils.py:
PI = 3.14
def max(a, b):
if a > b:
return a
else:
return b
def min(a, b):
if a < b:
return a
else:
return b
代码块12345678910111213
- 在第 1 行,定义了模块的导出变量 PI
- 在第 3 行,定义了模块的导出函数 max
- 在第 9 行,定义了模块的导出函数 min
3.3 使用模块
编写主程序 main.py,注意:将 main.py 和 utils.py 放置在相同目录下:
import utils
print(utils.PI)
print(utils.max(11, 22))
from utils import min
print(min(11, 22))
代码块123456
- 在第 1 行,引入模块 utils
- 在第 2 行,访问模块的导出变量 PI
- 在第 3 行,访问模块的导出函数 max
- 在第 5 行,引入模块 utils 中的导出函数 min
- 在第 6 行,访问模块的导出函数 min
运行程序 main.py,输出结果如下:
C:\> python main.py
3.14
22
11
代码块1234
- 在第 2 行,输出 PI 的值
- 在第 3 行,输出 max(11, 22) 的结果
- 在第 4 行,输出 min(11, 22) 的结果
欢迎关注「慕课网」,发现更多IT圈优质内容,分享干货知识,帮助你成为更好的程序员!
相关推荐
- Alist 玩家请进:一键部署全新分支 Openlist,看看香不香!
-
Openlist(其前身是鼎鼎大名的Alist)是一款功能强大的开源文件列表程序。它能像“万能钥匙”一样,解锁并聚合你散落在各处的云盘资源——无论是阿里云盘、百度网盘、GoogleDrive还是...
- 白嫖SSL证书还自动续签?这个开源工具让我告别手动部署
-
你还在手动部署SSL证书?你是不是也遇到过这些问题:每3个月续一次Let'sEncrypt证书,忘了就翻车;手动配置Nginx,重启服务,搞一次SSL得花一下午;付费证书太贵,...
- Docker Compose:让多容器应用一键起飞
-
CDockerCompose:让多容器应用一键起飞"曾经我也是一个手动启动容器的少年,直到我的膝盖中了一箭。"——某位忘记--link参数的运维工程师引言:容器化的烦恼与...
- 申请免费的SSL证书,到期一键续签
-
大家好,我是小悟。最近帮朋友配置网站HTTPS时发现,还有人对宝塔面板的SSL证书功能还不太熟悉。其实宝塔早就内置了免费的Let'sEncrypt证书申请和一键续签功能,操作简单到连新手都能...
- 飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
前面分享了两期TVGate:Q大的转发代理工具TVGate升级了,操作更便捷,增加了新的功能跨平台内网转发神器TVGate部署与使用初体验现在项目已经开源,并支持Docker部署,本文介绍如何通...
- Docker Compose 编排实战:一键部署多容器应用!
-
当项目变得越来越复杂,一个服务已经无法满足需求时,你可能需要同时部署数据库、后端服务、前端网页、缓存组件……这时,如果还一个一个手动dockerrun,简直是灾难这就是DockerCompo...
- 深度测评:Vue、React 一键部署的神器 PinMe
-
不知道大家有没有这种崩溃瞬间:领导突然要看项目Demo,客户临时要体验新功能,自己写的小案例想发朋友圈;找运维?排期?还要走工单;自己买服务器?域名、SSL、Nginx、防火墙;本地起服务?断电、关...
- 超简单!一键启动多容器,解锁 Docker Compose 极速编排秘籍
-
想要用最简单的方式在本地复刻一套完整的微服务环境?只需一个docker-compose.yml文件,你就能一键拉起N个容器,自动组网、挂载存储、环境隔离,全程无痛!下面这份终极指南,教你如何用...
- 日志文件转运工具Filebeat笔记_日志转发工具
-
一、概述与简介Filebeat是一个日志文件转运工具,在服务器上以轻量级代理的形式安装客户端后,Filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并将来自...
- K8s 日志高效查看神器,提升运维效率10倍!
-
通常情况下,在部署了K8S服务之后,为了更好地监控服务的运行情况,都会接入对应的日志系统来进行检测和分析,比如常见的Filebeat+ElasticSearch+Kibana这一套组合...
- 如何给网站添加 https_如何给网站添加证书
-
一、简介相信大家都知道https是更加安全的,特别是一些网站,有https的网站更能够让用户信任访问接下来以我的个人网站五岁小孩为例子,带大家一起从0到1配置网站https本次配置的...
- 10个Linux文件内容查看命令的实用示例
-
Linux文件内容查看命令30个实用示例详细介绍了10个Linux文件内容查看命令的30个实用示例,涵盖了从基本文本查看、分页浏览到二进制文件分析的各个方面。掌握这些命令帮助您:高效查看各种文本文件内...
- 第13章 工程化实践_第13章 工程化实践课
-
13.1ESLint+Prettier代码规范统一代码风格配置//.eslintrc.jsmodule.exports={root:true,env:{node...
- 龙建股份:工程项目中标_龙建股份有限公司招聘网
-
404NotFoundnginx/1.6.1【公告简述】2016年9月8日公告,公司于2016年9月6日收到苏丹共和国(简称“北苏丹”)喀土穆州基础设施与运输部公路、桥梁和排水公司出具的中标通知书...
- 福田汽车:获得政府补助_福田 补贴
-
404NotFoundnginx/1.6.1【公告简述】2016年9月1日公告,自2016年8月17日至今,公司共收到产业发展补助、支持资金等与收益相关的政府补助4笔,共计5429.08万元(不含...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)