news 2026/8/2 0:23:07

[python]-模块和包

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[python]-模块和包

python模块

模块的导入

Python模块(Module),就是一个Python文件,以.py结尾

  1. 模块能定义函数,类和变量,模块里也能包含可执行的代码.
  2. 模块的作用: python中有很多各种不同的模块,每一个模块都可以帮助我们快速的实现一些功能,
  3. 比如实现和时间相关的功能就可以使用time模块, 我们可以认为一个模块就是一个工具包,每一个工具包中都有各种不同的工具供我们使用, 进而实现各种不同的功能
  4. 大白话: 模块就是一个Python文件,里面有类、函数、变量等,我们可以拿过来用(导入模块去使用)

模块在使用前需要先导入

  1. 导入的语法如下:

  1. import的本质就是导入py文件, 导入后该文件的函数,类,变量都可以使用

常用的组合形式如:

  1. import 模块名

  1. from 模块名 import 类、变量、方法等

  1. from 模块名 import *

  1. import 模块名 as 别名
  2. from 模块名 import 功能名 as 别名

自定义模块

Python中已经帮我们实现了很多的模块,不过有时候我们需要一些个性化的模块,这里就可以通过自定义模块实现,也就是自己制作一个模块

  1. 每个Python文件都可以作为一个模块,模块的名字就是文件的名字,也就是说自定义模块名必须要符合标识符命名规则
  2. 新建一个Python文件,命名为my_module1.py 并定义test函数

了解_main_变量的作用

在实际开发中,当一个开发人员编写完一个模块后,为了验证模块在项目中达到的效果,开发人员会在py文件中添加一些测试方法, 例如,在 mymodule1.py 文件中添加测试代码 test(1,1)

此时,无论是当前文件运行,还是该文件被其他模块导入, 都会触发'test'函数的调用

我们可以用 __main__这个内置变量, 让方法只在文件运行时触发, 避免方法被引用时无意义的执行, 影响其他人

优先级问题

当导入多个模块的时候,且模块内有同名功能,当调用这个同名功能的时候,真实调用到的是后面导入的模块的功能

了解__all__变量的作用

如果一个模块文件中有a11变量,当使用 'from xxx import *' 导入时,只能导入这个列表中的元素

  1. ___all___内置python变量, 默认是*, 表示全部导出
  2. 如果你写一个列表,列表内写上函数名称, 控制导出范围, 只对全部导入生效 (*号), 按需导入不受影响
  3. 可以控制这个文件(模块)被 from ... import * 的时候, 哪些函数允许被导入

python包

包的作用

当我们的模块文件越来越多时,包可以帮助我们管理这些模块,包的作用就是包含多个模块,包的本质依然是模块

  1. 从物理上看,包就是一个文件夹,在该文件夹下包含了一个__init__py文件,用于管理模块, 该文件夹用于管理多个模块文件
  2. 从逻辑上看,包的本质依然是模块

自定义包

  1. 新建包my_package
  2. 新建包内模块: my_modulel和my_module2
  3. 模块内代码如下

  1. Pycharm中的基本步骤:
  • [New] -> [Python Package] -> 输入包名 ->「OK] -> 新建功能模块(有联系的模块)
  • 注意: 新建包后,包内部会自动创建`__init__.py'文件,这个文件控制着包的导入行为
  1. 导入自定义包 (方式一)

  1. 导入自定义包 (方式二)
  • 注意: 必须在__init__.py文件中添加__a11__=[], 控制允许导入的模块列表

第三方包

在Python程序的生态中,有许多非常多的第三方包(非Python官方),可以极大的帮助我们提高开发效率,如:

  • 科学计算中常用的: numpy包
  • 数据分析中常用的: pandas包
  • 大数据计算中常用的: pyspark、apache-flink包
  • 图形可视化常用的: matplotlib、pyecharts
  • 人工智能常用的: tensorflow
  1. 这些第三方的包,极大的丰富了Python的生态,提高了开发效率。
  2. 但是由于是第三方,所以Python没有内置,所以我们需要安装它们才可以导入使用哦。

安装第三方包

第三方包的安装非常简单,我们只需要使用Python内置的 pip 程序即可。

  1. 打开我们许久未见的命令提示符程序,在里面输入: pip install 包名称
  2. 即可通过网络快速安装第三方包

  1. 由于pip是连接的国外的网站进行包的下载,所以有的时候会速度很慢。
  2. 我们可以通过如下命令,让其连接国内的网站进行包的安装:
  • pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称
  • 该链接是清华大学提供的下载源,可供pip程序下载第三方包

PyCharm也提供了安装第三方包的功能:

常用内置模块

时间处理

时间戳是用一个数字来表示时间。数字指代从1970-01-01 00:00:00开始经过了多久。

  1. 秒级精度

  1. 毫秒级精度

时间处理

随机数

通过random模块可以获得随机的数字。

文件相关

文件操作

系统操作

系统操作

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/29 22:41:01

ue metahuman绑定教程

b站绑定衣服: https://www.bilibili.com/video/BV16LZmYnEMm https://www.bilibili.com/video/BV1nvkDBSEvb

作者头像 李华
网站建设 2026/8/1 15:51:36

安鹏精密实测:NVH路测中,如何零开发搞定CAN信号同步?

虹科PCAN方案助力NVH信号采集优化面对NVH(噪声、振动与声振粗糙度)测试中CAN信号采集的壁垒,是投入成本自主研发,还是寻找现成解决方案?安鹏精密的工程师在真实路测中找到了答案 —— 通过部署虹科PCAN-MicroMod FD设备…

作者头像 李华
网站建设 2026/7/28 1:35:25

React Native for OpenHarmony:Pressable —— 构建下一代状态驱动交互的基石

Pressable —— 构建下一代状态驱动交互的基石 引言:从“反馈”到“状态”的范式跃迁一、Pressable 的核心哲学:状态即一切1.1 核心状态参数1.2 与 TouchableOpacity 的对比 二、多状态协同:打造沉浸式交互体验2.1 按下与悬停的协同2.2 禁用状…

作者头像 李华
网站建设 2026/7/30 4:39:15

不同小波基分解层数的小波变换信号去噪声附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

作者头像 李华
网站建设 2026/7/28 11:25:05

看完就会,从抓包到接口测试的全过程解析

一、为什么抓包 1、从功能测试角度 通过抓包查看隐藏字段 Web 表单中会有很多隐藏的字段,这些隐藏字段一般都有一些特殊的用途,比如收集用户的数据,预防 CRSF 攻击,防网络爬虫,以及一些其他用途。这些隐藏字段在界面…

作者头像 李华
网站建设 2026/7/28 18:54:12

接口测试用例怎么写?一文1600字教你写一个优秀的接口测试的测试用例

一、用例设计1 1、接口测试概念 接口测试:测试系统间接口的一种测试,测试的对象主要是接口,主要是测试外部系统与所测系统之间以及内部系统之间的交互点 2、接口测试方法 a、可以通过开发脚本代码进行测试 b、可以通过开源免费的接口调用…

作者头像 李华