【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镜像源配置及国内常用镜像源

相关推荐
小白学大数据23 分钟前
基于文本检测的 Python 爬虫弹窗图片定位与拖动实现
开发语言·爬虫·python
小白|23 分钟前
【OpenHarmony × Flutter】混合开发性能攻坚:如何将内存占用降低 40%?Flutter 引擎复用 + ArkTS 资源回收实战指南
开发语言·javascript·flutter
tuokuac33 分钟前
java中的浮点数基本操作
java·开发语言
努力的BigJiang44 分钟前
ORB-SLAM2在ubuntu20.04中的复现记录(跑数据集+ROS)(ROS接口失败版)
python
他是龙5511 小时前
第29天:安全开发-JS应用&DOM树&加密编码库&断点调试&逆向分析&元素属性操作
开发语言·javascript·安全
小菱形_1 小时前
【C#】LINQ
开发语言·c#·linq
爱吃大芒果1 小时前
Flutter 基础组件详解:Text、Image、Button 使用技巧
开发语言·javascript·flutter·华为·ecmascript·harmonyos
Hominid⁺1 小时前
深度解析:C 语言的 8 个翻译阶段与 GCC 编译全流程
c语言·开发语言
steins_甲乙2 小时前
C++并发编程
开发语言·c++
曹牧2 小时前
C#:foreach
开发语言·c#