【Python】模块

news2024/11/24 15:46:04
  • 🚩 WRITE IN FRONT 🚩       

  • 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎
  • 🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评百大博主、华为云享专家、阿里云专家博主、掘金优秀创作者、全网粉丝量7w+、个人社区人数累计4w+、全网访问量100w+ 🏅
  • 🆔 本文章内容由 謓泽 原创 如需相关转载请提前告知博主 ⚠
  • 📑 创作时间:2022 年 2 月 13 日 📅
  • 📝 个人主页:謓泽的博客 📃
  • 📣 专栏系列:【Python】系列_謓泽的博客📃
  • 🙌 Gitee:謓泽 (wsxsx) - Gitee.com ⭐️
  • 🎁 点赞👍+ 收藏⭐️+ 留言📝​
  • ✉️ 我们并非登上我们所选择的舞台,演出并非我们所选择的剧本 📩

模块 

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

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

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

模块示意图 

  

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

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

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


第一个模块

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

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

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

代码示例如下↓

  • zz_第一个模块↓
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_第二个模块↓
# 导入模块
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重新编译的时候,它就会自动检查源文件和字节码的时间戳。
  • 如果你又修改了源代码,下次程序运行的时候,自己吗将会重新的自动创建。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1400576.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ :命名空间域

目录 冲突与命名: 举个例子: 全局与局部: 域作用限定符: 命名空间域: 冲突与命名: 在C语言中,我们通常会使用stdlib.h 而stdlib.h 本质上是一个函数的库,在程序中使用的大多数…

django邮件通知功能-

需求: 1:下单人员下订单时需要向组长和投流手发送邮件通知 2:为何使用邮件通知功能?因为没钱去开通短信通知功能 设计 1:给用户信息表添加2个字段 第一个字段为:是否开通邮件通知的布尔值 第二个字段为: 用…

Python 折线图的绘制(Seaborn篇-04)

Python 折线图的绘制(Seaborn篇-04)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹…

详解Redisson

第1章:Redisson简介 大家好,我是小黑,咱们今天来聊聊Redisson,Redisson不只是简单地对Redis进行了封装,它还提供了一系列高级的分布式Java数据结构,像是分布式锁、原子长整型这种。 首先,Redi…

React 初次接触

背景 还是为了完善高大上的在线文档系统,虽然比着葫芦画瓢的修改了一些所谓的代码,慢慢的才发现,原来这就是传说中的React,所以有比较又要囫囵吞枣一下React。 基本原理 参照《React技术揭秘》 网上有电子版 ,应该是…

Makefile编译原理 条件判断语句

一.makefile中支持条件判断语句 可以根据条件的值来决定make的执行 可以比较两个不同变量或者变量和常量值 条件判断语句语法说明: 条件判断关键字: 条件判断语句注意点: 条件判断语句之前可以有空格,但不能没有Tab字符&#x…

【Java】SpringBoot实现事件监听(异步执行)

在Spring Boot中,事件监听是一种机制,通过该机制,你可以定义和触发自定义的事件,以及在应用程序中注册监听器来响应这些事件,提供了一种解耦的方式来处理应用程序中的事件。 文末有源码gitee地址!拉取可进…

MySQL基础笔记(8)多表查询

一.多表关系介绍 项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也会存在着各种联系,分为如下3类: 一对…

【C++提高编程(二)】

一、STL初识 1.1、STL的诞生 长久以来,软件界一直希望建立一种可重复利用的东西 C的面向对象和泛型编程思想,目的就是复用性的提升 大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作 为了建立数据结构和算法的一套标…

神经网络算法 —— 一文搞懂Transformer !!

文章目录 前言 一、Transformer的本质 1. Transformer架构 2. Encoder-Decoder(编码器-解码器) 二、Transformer的原理 1. Multi-Head Attention(多头自注意力) 2. Scaled Dot-Product Attention(缩放点积注意力&#…

坦克大战游戏代码

坦克大战游戏 主函数战场面板开始界面坦克父类敌方坦克我方坦克子弹爆炸效果数据存盘及恢复图片 主函数 package cn.wenxiao.release9;import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import javax.swing.JFrame; import javax.swing.JMenu; impor…

2024年【金属非金属矿山(地下矿山)安全管理人员】证考试及金属非金属矿山(地下矿山)安全管理人员模拟考试题库

题库来源:安全生产模拟考试一点通公众号小程序 2024年【金属非金属矿山(地下矿山)安全管理人员】证考试及金属非金属矿山(地下矿山)安全管理人员模拟考试题库,包含金属非金属矿山(地下矿山&…

RabbitMQ-消息延迟

一、死信交换机 1、描述 一个队列接收到的消息有过期时间,消息过期之后,如果配置有死信队列,消息就会进去死信队列。 2、图解 3、过程 当生产者将消息发送到exchange1,然后交换机将消息路由到队列queue1,但是队列que…

探索指针的奇妙世界,程序中的魔法箭头(上)

目录 一.指针是什么二.指针和指针类型1.指针加减整数2.指针的解引用 三.野指针1.野指针形成的原因(1)指针未初始化指针越界访问 2.如何规避野指针(1)指针初始化(2)小心指针越界(3)指…

SpringSecurity+JWT前后端分离架构登录认证

目录 1. 数据库设计 2. 代码设计 登录认证过滤器 认证成功处理器AuthenticationSuccessHandler 认证失败处理器AuthenticationFailureHandler AuthenticationEntryPoint配置 AccessDeniedHandler配置 UserDetailsService配置 Token校验过滤器 登录认证过滤器接口配置…

理解PCIE设备透传

PCIE设备透传解决的是使虚拟机直接访问PCIE设备的技术,通常情况下,为了使虚拟机能够访问Hypervisor上的资源,QEMU,KVMTOOL等虚拟机工具提供了"trap and emulate", Virtio半虚拟化等机制实现。但是这些实现都…

用通俗易懂的方式讲解:使用 Langchain 和 Hugging Face ,轻松实现大模型 RAG 用法

检索增强生成(RAG)是一种与预训练的大型语言模型(LLM)和自己的数据一起工作的模式,用于生成响应。 现在我将向大家介绍在代码中实现 RAG 的过程。让我们开始使用 Langchain 和 Hugging Face 实现 RAG! 文章…

matlab appdesigner系列-常用14-树(复选框)

之前系列常用9,为单个复选框。树,就是多个复选框形成的选项组 示例:列举湖北省的几个城市 湖北省 武汉 宜昌 襄阳 荆州 1)将树(复选框)拖拽到画布上,方式1就是:文字可以在右侧…

【线上问题】CompletableFuture与线程池使用不当导致服务整个挂掉

Informal Essay By English It is always a pleasure to learn 背景 在某一个风和日丽的早上,小组同事说昨晚线上服务有20分钟左右的不可用,当时内心一紧,不会是我写的代码有bug导致的吧👀,我正了正心态&#xff0c…

[小程序]样式与配置

一、外部样式导入 使用import加外部样式表的相对路径并以 ; 表示语句结束。 import "common.wxss"; 二、全局样式和局部样式 全局样式位于app.wxss中,会作用于整个项目中所有页面中。 局部样式位于对应的wxss文件中,仅作用于当前页面&#x…