【Python】模块

  • 🚩 WRITE IN FRONT 🚩

  • 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎

  • 🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评百大博主、华为云享专家、阿里云专家博主、掘金优秀创作者、全网粉丝量7w+、个人社区人数累计4w+、全网访问量100w+ 🏅

  • 🆔 本文章内容由 謓泽 原创 如需相关转载请提前告知博主 ⚠

  • 📑 创作时间:2022 年 2 月 13 日 📅

  • 📝 个人主页:謓泽的博客 📃

  • 📣 专栏系列:【电子】系列_謓泽的博客📃

  • 🙌 Gitee:謓泽 (wsxsx) - Gitee.com ⭐️

  • 🎁 点赞👍+ 收藏⭐️+ 留言📝

  • ✉️ 我们并非登上我们所选择的舞台,演出并非我们所选择的剧本 📩

模块

模块是Python当中一个非常重要的知识点,给予了Python非常好的支持。Python当中有非常多功能强大的模块。主要不止于体现在了Python当中的标准库当中拥有许多好用且强大的模块,并且还是具有第三方模块的库当中的模块。同时自己也可以自定义一些模块,通过这些模块给予了写代码当中的人一个很大的帮助。

🍊模块是Python当中在程序架构的一个核心概念🍊

  • 🍅模块就好比是一个工具包,当我们要想去使用这个工具包就必须要导入进import 这个模块。
  • 🍅模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。
  • 🍅在模块当中定义的函数或者是全局变量都是模块可以直接提供给外界的使用工具。

模块示意图

上述就是模块当中我假设举出的一个示例图。

我们可以把书📕盒当中是模块,而物理📕、英语📕、数学📕、语文📕,当作是我们要实现的一个功能,每一个📕对于着不同的功能,最终把这些功能汇聚到模块当中去。

张三同学不知道这样你理解了没有(✿◕‿◕✿)


第一个模块

开始我们接触的第一个Python的模块吧(@^0^)

我们先创建两个模块.py的文件。

  • 第一个模块当中实现两个数的相加,再创建name = '謓泽'。
  • 第二个模块当中实现打印出CSDN謓泽并使用模块①当中相加的功能。

代码示例如下↓

  • zz_第一个模块↓
python 复制代码
def add(a,b):
    return a + b

x = int(input('请输入数字①:'))
y = int(input('请输入数字②:'))
ret = add(x,y)
print("%d + %d = %d" % (x,y,ret))

name = 'CSDN謓泽'
  • zz_第二个模块↓
python 复制代码
# 导入模块
import zz_第一个模块
print(zz_第一个模块.name)

那么我们可以从第二个模块当中来看看第二个运行结果如下↓

请输入数字①:5
请输入数字②:5
5 + 5 = 10
CSDN謓泽

程序运行成功,那么当我们要去使用模块直接可以使用import给它导入模块即可。


标识符

我们需要注意在命名标识符的时候它也是一个需要遵守标识符严格规定的如下↓

  • 标识符,规则:字母、数字、下划线,不以数字开头,关键字不能作为标识符。
  • 注意:如果在给 Pycharm 的文件进行文件命名的话,以数字开头的话是无法 Pycharm 当中导入这个模块的。

Pyc文件

在这里Py是Python的缩写。

c是compiled(编译过)的缩写。

那么我们怎么找到我们的这个.pyc的文件呢。实际上很容易步骤如下↓

  • 首先浏览到程序文件会发现一个__pycache__的文件。
  • 打开此文件就会拥有一个 xxx.pyc 的文件,cpython-39 表示解释器的版本。
  • 这个 pyc 的文件是由 Python 解释器将模块的源码转换成字节码。

Python 这样保存的字节码是作为一种速度上的优化。

字节码

Pyrhon在解释器程序的时候是分为两个步骤的。

①:首先处理源代码,编译生成一个二进制字节码。

②:再对字节码进行处理,才会生成CPU能够识别的机器码。

注意:有了模块的字节码之后,下次再运行程序的时候,如果在上次保存的字节码之后,没有修改过源代码的话,Python就会加载.pyc文件并且会跳过编译的这个步骤。

  • 当Python重新编译的时候,它就会自动检查源文件和字节码的时间戳。
  • 如果你又修改了源代码,下次程序运行的时候,自己吗将会重新的自动创建。
相关推荐
im_AMBER19 分钟前
学习日志05 python
python·学习
大虫小呓24 分钟前
Python 处理 Excel 数据 pandas 和 openpyxl 哪家强?
python·pandas
哪 吒36 分钟前
2025B卷 - 华为OD机试七日集训第5期 - 按算法分类,由易到难,循序渐进,玩转OD(Python/JS/C/C++)
python·算法·华为od·华为od机试·2025b卷
-凌凌漆-39 分钟前
【Qt】QStringLiteral 介绍
开发语言·qt
程序员爱钓鱼39 分钟前
Go语言项目工程化 — 常见开发工具与 CI/CD 支持
开发语言·后端·golang·gin
军训猫猫头1 小时前
1.如何对多个控件进行高效的绑定 C#例子 WPF例子
开发语言·算法·c#·.net
真的想上岸啊1 小时前
学习C++、QT---18(C++ 记事本项目的stylesheet)
开发语言·c++·学习
明天好,会的2 小时前
跨平台ZeroMQ:在Rust中使用zmq库的完整指南
开发语言·后端·rust
摸爬滚打李上进2 小时前
重生学AI第十六集:线性层nn.Linear
人工智能·pytorch·python·神经网络·机器学习
丁劲犇2 小时前
用 Turbo Vision 2 为 Qt 6 控制台应用创建 TUI 字符 MainFrame
开发语言·c++·qt·tui·字符界面·curse