Python学习笔记--模块简介

news2024/11/17 13:08:34

一、Python 模块简介

在开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。

后面我们学习了函数,知道函数是实现一项或多项功能的一段程序,这样就更方便我们重复使用代码。

紧接着,我们有学了类,类可以封装方法和变量(属性)。这样就更方便我们维护代码了。

我们之前学过,类的结构是这样的:

而我们要学的模块是这样的:

在模块中,我们不但可以直接存放变量,还能存放函数,还能存放类。

不知道你们还有没有印象,我们封装函数用的是 def , 封装类用的是 class

而我们封装模块,是不需要任何语句的。

在 Python 中,一个 .py 文件就称之为一个模块(Module)。

可以看下我之前写的例子,在 pychrome 上 ,这样一个 test.py 文件就是一个模块。

其实模块就是函数功能的扩展。为什么这么说呢?

那是因为模块其实就是实现一项或多项功能的程序块。

通过上面的定义,不难发现,函数和模块都是用来实现功能的,只是模块的范围比函数广,在模块中,可以有多个函数。

然有了函数,那为啥那需要模块?

最大的好处是大大提高了代码的可维护性。

其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,也经常引用其他模块,包括 Python 内置的模块和来自第三方的模块。

使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。但是也要注意,尽量不要与内置函数名字冲突。

Python 本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用。我们可以尝试找下这些模块,比如我的 Python 安装目录是默认的安装目录,在 C:\Users\Administrator\AppData\Local\Programs\Python\Python36 ,然后找到 Lib 目录,就可以发现里面全部都是模块,没错,这些 .py 文件就是模块了。

其实模块可以分为标准库模块和自定义模块,而刚刚我们看到的 Lib 目录下的都是标准库模块。

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

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

相关文章

解析半导体测试系统及半导体的测试方法步骤

半导体如今在集成电路、通信系统、照明等领域被广泛应用,是一种非常重要的材料。在半导体行业中,半导体测试是特别关键的环节,以保证半导体器件及产品符合规定和设计要求,确保其质量和性能。 随着现代电子技术的发展,半…

移远EC600U-CN开发板 day02

1.QuecPythonLVGL显示图片 由于官方提供的显示图片函数使用失败,为了能在屏幕上显示图片,通过对出厂脚本的分析,成功使用LVGL显示图片 (1)代码 import lvgl as lv from tp import gt9xx from machine import LCD from machine import Pin …

别让噪声偷走你的听力

欢声笑语,音乐悠扬,燕语莺声,流水潺潺,和亲友畅所欲言…… 这些愉悦的声音让我们每天的生活更充实,他们也是美好记忆的重要组成部分。听力对于我们的身体健康、情感幸福和整体生活质量起着巨大的作用。 因此保护听力健…

华为fusionInsigtht集群es连接工具

华为fusionInsight为用户提供海量数据的管理及分析功能,快速从结构化和非结构化的海量数据中挖掘您所需要的价值数据。开源组件结构复杂,安装、配置、管理过程费时费力,使用华为FusionInsight Manager将为您提供企业级的集群的统一管理平台,在…

大数据管理平台有什么用?如何利用大数据管理平台优化企业运营?

在数字化时代,大数据管理平台已经成为了企业和组织不可或缺的工具。它不仅可以帮助企业跟踪和解决报修问题,还为数据分析提供了丰富的信息。通过合理利用大数据管理平台进行数据分析,企业可以更好地了解其运营情况,优化设备维修和…

攻防世界题目练习——Web引导模式(四)(持续更新)

题目目录 1. shrine2. very_easy_sql 1. shrine 打开网页题目内容如下: 是一段代码,我们把它还原一下: import flask import osapp flask.Flask(__name__) app.config[FLAG] os.environ.pop(FLAG) #这里应该是将config配置里的FLAG字段设…

Time series analysis of InSAR data: Methods and trends(NASA,2015)

文章目录 ISPRS J PHOTOGRAMMIntroductionPhase unwrapping相位解缠算法综述 Time series analysis of InSAR dataPersistent Scatterer Interferometry (PSI)--持久散射体☆☆☆☆PSInSAR && SBAS-InSAR☆☆☆☆PS-InSARSBAS-InSARDS-InSAR(分布式散射体干…

金秋云创季——ECS爆品省钱攻略

阿里云双十一推出优惠活动——“金秋云创季”,其中,云服务ECS下的经济型e实例,低至99元/1年,新老用户都可购买,续费不涨价;轻量应用服务器,2核2G 低至87元1年……官方满减优惠享受折上折。惊喜不…

微服务架构——笔记(4)

微服务架构——笔记(4) 基于分布式的微服务架构 本次笔记为 此次项目的记录,便于整理思路,仅供参考,笔者也将会让程序更加完善 内容包括:8001集群构建,负载均衡,服务发现&#xff0…

day51

前端框架Booststrap 该框架已经帮我们写了很多页面样式,如果需要使用,只需要下载对应文件直接cv即可 在使用Booststrap的时候,所有发页面样式只需要通过修改class属性来调节即可 什么是Booststrap Bootstrap是一个开源的前端框架&#xff…

基于junit4搭建自定义的接口自动化测试框架

随着业务的逐步稳定,对于接口的改动也会逐渐变少。更多的是对业务逻辑的优化,功能实现的完善。对于测试来说,重复繁琐的功能测试不仅效率低下,而且耗费一定的人力资源。笔者支持的信息流业务下的一个图文管理平台就是一个功能较为…

Elasticsearch:ES|QL 的限制

尽管 ES|QL 带来性能及使用上的便捷,在实际的使用中,它还是有一些限制。在今天的文章中,我们来列举它的一些限制。 结果集大小限制 默认情况下,ES|QL 查询最多返回 500 行。 你可以使用 LIMIT 命令将行数增加到最多 10,000 行。 …

SDH设备

文章目录 实际的SDH设备结构:OSN3500

Archicad 26 (BIM建模软件)

Archicad 26是一款建筑信息模型(BIM)软件,由Graphisoft公司开发。它提供了全面的设计和建模工具,用于创建3D建筑模型、制作施工图纸等。 Archicad 26支持多种文件格式,并且可以与其他CAD软件进行互操作。它具有强大的建…

关于mysql自增列起始值与数据实际id不一致的问题

从一个数据表生成表结构和数据的脚本之后。把脚本复制到另一个数据库执行同步数据结构和数据。 Navicat 发生了如下异常提示,并中断了脚本执行: Duplicate entry 51110 for key sys_log.PRIMARY 然后检查sys_log表的建表脚本,发现有如下行&…

期中考试后,老师用它发成绩

期中考试过后,对于老师们来说,最烦的就是学生家长一直不停的咨询成绩。然而,一群班群直接公布成绩不仅耗时,还不合规。那么,如何用代码和Excel实现让学生自助查询成绩呢?下面,我将向各位老师介绍…

[C/C++]数据结构 链表OJ题:移除链表元素

题目描述: 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 方法一: 从头开始遍历链表,当遇到相同元素则跳过该元素,指向下一节点 struct ListNode* removeElements(struct ListNode* head…

智慧法院 | 平均执行效率提升86%,RPA数字劳动力改善法院整体工作效能

为深化政法智能化建设,加强“智慧治理”“智慧法院”“智慧检务”“智慧警务”“智慧司法”等信息平台建设,深入实施大数据战略,实现科技创新成果同政法工作深度融合。法制日报社于今年3月继续举办了2023政法智能化建设创新案例及论文征集宣传…

利用TexturePacker 进行pvr.ccz与png互转

这几天在玩 小冰冰传奇 有几个新的游戏角色甚是喜欢,想找几张图片看看,索性就去下载apk找找里面的图片 https://dgame-apk.lilithgame.com/dtcq_675.lilith-android1013.apk 500多M 然后去下载TexturePacker这个软件 27M 我们直接把 dtcq_675.lil…

Vue路由(router-link)——高亮、动态传参

一、声明式导航-导航链接 1.需求 实现导航高亮效果 如果使用a标签进行跳转的话,需要给当前跳转的导航加样式,同时要移除上一个a标签的样式,太麻烦!!! 2.解决方案 vue-router 提供了一个全局组件 router…