【Python】模块和包

模块(Module)是一个python文件,能定义函数,类和变量,能包含可执行的代码。

一个模块就是一个工具包,里面有工具供我们使用,以实现功能。

类似于C语言的库函数

模块的导入

组合形式:

复制代码
import 模块名
from 模块名 import 类、变量、方法等
from 模块名 import *
import 模块名 as 别名
from 模块名 import 功能名 as 别名

自定义模块实际上就是自己写一个python文件

当导入了多个模块,调用功能同名时,调用的是后面导入的模块(覆盖前面)

两个下划线__

__main__变量

python 复制代码
if __name__ == '__main__':

模块内部执行语句,导入模块时也会执行;而把执行的语句放在上面这条语句下,右键运行时会正常执行,而导入时就不会执行了。

__all__变量

python 复制代码
__all__ = [ ]

如果一个模块中有此变量,当使用" from 模块名 import * "导入时,只能导入这个列表中的元素


当我们的模块文件越来越多时,包可以帮助我们管理这些模块

从物理上看,包就是一个文件夹,在该文件夹下包含了一个" init.py "文件,该文件夹可用于包含多个模块文件(" init.py "文件存在即为包,不存在就是普通的文件夹)

从逻辑上看,包的本质依然是模块

使用PyCharm新建包很方便

调用就是模块上多了个层级,即 包.模块名;方式和调用模块一样

在" init.py "中我们可以使用__all__变量,列表里面是模块名,功能类比上面

第三方包

需要安装,例如:

  • 科学计算:numpy
  • 数据分析:pandas
  • 大数据计算:pyspark , apache-flink
  • 图形可视化:matplotlib , pyecharts
  • 人工智能:tensorflow

使用pip进行安装(在命令提示符中)

复制代码
pip install 包名称

因为是从国外下载,下载速度可能很慢,我们可以使用国内镜像源

Python-pip镜像源配置及国内常用镜像源

相关推荐
bzmK1DTbd1 小时前
Git版本控制:Java项目中的分支管理与合并策略
java·开发语言·git
Rust研习社1 小时前
为什么 Rust 没有空指针?
开发语言·后端·rust
landyjzlai1 小时前
蓝迪哥玩转Ai(8)---端侧AI:RK3588 端侧大语言模型(LLM)开发实战指南
人工智能·python
kyriewen111 小时前
WebAssembly:前端界的“外挂”,让C++代码在浏览器里跑起来
开发语言·前端·javascript·c++·单元测试·ecmascript
我叫黑大帅3 小时前
如何通过 Python 实现招聘平台自动投递
后端·python·面试
其实防守也摸鱼3 小时前
CTF密码学综合教学指南--第九章
开发语言·网络·python·安全·网络安全·密码学·ctf
砚底藏山河3 小时前
Python量化开发:2026最佳实时股票数据API接口推荐与对比
开发语言·windows·python
AlunYegeer4 小时前
JAVA,以后端的视角理解前端。在全栈的路上迈出第一步。
java·开发语言·前端
研究点啥好呢4 小时前
专为求职者开发的“面馆”!!!摆脱面试焦虑!!!
python·面试·开源·reactjs·求职招聘·fastapi
hixiong1235 小时前
C# OpenvinoSharp使用DINOv2模型进行图像相似度计算
开发语言·c#