【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重新编译的时候,它就会自动检查源文件和字节码的时间戳。
  • 如果你又修改了源代码,下次程序运行的时候,自己吗将会重新的自动创建。
相关推荐
看浪的路人2 分钟前
第5讲:代码审查与 Bug 检测
开发语言·windows·python
netccdn5 分钟前
Hough变换检测直线(Matlab)
开发语言·计算机视觉·matlab
有点。10 分钟前
C++深度优先搜索(三)
开发语言·c++·深度优先
天空'之城12 分钟前
C 语言工业级通用组件手写 25:简易日志系统
c语言·开发语言·日志系统·嵌入式调试·调试打印
程序喵大人24 分钟前
【C++进阶】STL算法与函数对象 -【C++进阶】STL算法与函数对象
开发语言·c++·算法
weixin_BYSJ198736 分钟前
【java项目分享】springboot阅读推荐平台10600
java·javascript·spring boot·python·django·flask·php
阿kun要赚马内41 分钟前
工具在langchain agent中的调用
人工智能·后端·python
牛马也想出海43 分钟前
使用Playwright被检测为机器人的原因及反检测方案
开发语言·网络·人工智能·机器人·php
GrowthDiary0071 小时前
Python 常用函数总结
开发语言·python
热心网友俣先生1 小时前
2026年华数杯C 题 超详细解题思路
c语言·开发语言·人工智能