python基础篇(9):模块

1 模块简介

Python 模块(Module),是一个 Python 文件,以 .py 结尾.  模块能定义函数,类和变量,模块里也能包含可执行的代码.

模块的作用:  python中有很多各种不同的模块, 每一个模块都可以帮助我们快速的实现一些功能, 比如实现和时间相关的功能就可以使用time模块,我们可以认为一个模块就是一个工具包, 每一个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能.

简而言之,模块就是一个Python文件,里面有类、函数、变量等,我们可以拿过来用(导入模块去使用)

2 模块导入方式

模块在使用前需要先导入 导入的语法如下:

[from 模块名] import [模块|类|变量|函数|*][as 别名]

常用的组合形式如:

  • import 模块名
  • from 模块名 import 类、变量、方法等
  • from 模块名 import *
  • import 模块名 as 别名
  • from 模块名 import 功能名 as 别名

2.1 import 模块名

import 模块名
import 模块名1,模块名2模块名.功能名()

案例:导入time模块

# 导入时间模块
import timeprint("开始")
# 让程序睡眠1秒(阻塞)
time.sleep(1)
print("结束")

2.2 from 模块名 import 功能名

基本语法:

from 模块名 import 功能名功能名()

案例:导入time模块中的sleep方法

# 导入时间模块中的sleep方法
from time import sleepprint("开始")
# 让程序睡眠1秒(阻塞)
sleep(1)
print("结束")

2.3 from 模块名 import *

基本语法:

from 模块名 import *功能名()

案例:导入time模块中所有的方法

# 导入时间模块中所有的方法
from time import *print("开始")
# 让程序睡眠1秒(阻塞)
sleep(1)
print("结束")

2.4 as定义别名

基本语法:

# 模块定义别名
import 模块名 as 别名# 功能定义别名
from 模块名 import 功能 as 别名

案例:

# 模块别名
import time as tttt.sleep(2)
print('hello')
# 功能别名
from time import sleep as sl
sl(2)
print('hello')

3 制作自定义模块

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

案例:新建一个Python文件,命名为my_module1.py,并定义test函数

注意:

  每个Python文件都可以作为一个模块,模块的名字就是文件的名字. 也就是说自定义模块名必须要符合标识符命名规则

4 测试模块

在实际开发中,当一个开发人员编写完一个模块后,为了让模块能够在项目中达到想要的效果,

这个开发人员会自行在py文件中添加一些测试信息,例如,在my_module1.py文件中添加测试代码test(1,1)

def test(a, b):print(a + b)test(1, 1)

问题:

此时,无论是当前文件,还是其他已经导入了该模块的文件,在运行的时候都会自动执行`test`函数的调用

解决方案:

def test(a, b):print(a + b)# 只在当前文件中调用该函数,其他导入的文件内不符合该条件,则不执行test函数调用
if __name__ == '__main__':test (1, 1)

注意事项:

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

5 __all__

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

概论(二)随机变量

1.名词解释 1.1 样本空间 一次具体实验中所有可能出现的结果,构成一个样本空间。 1.2 随机变量 把结果抽象成数值,结果和数值的对应关系就形成了随机变量X。例如把抛一次硬币的结果,正面记为1,反面记为0。有变量相对应的就有自…

SpringBoot实战:轻松实现接口数据脱敏

一、接口数据脱敏概述 1.1 接口数据脱敏的定义 接口数据脱敏是Web应用程序中一种保护敏感信息不被泄露的关键措施。在API接口向客户端返回数据时,系统会对包含敏感信息(如个人身份信息、财务数据等)的字段进行特殊处理。这种处理通过应用特…

多个版本JAVA切换(学习笔记)

多个版本JAVA切换 很多时候,我们电脑上会安装多个版本的java版本,java8,java11,java17等等,这时候如果想要切换java的版本,可以按照以下方式进行 1.检查当前版本的JAVA 同时按下 win r 可以调出运行工具…

WMS系统的核心功能

WMS系统(Warehouse Management System)的核心功能主要包括以下几个方面: ———————————————————————— 1、库存管理: 1):跟踪库存数量、位置和状态,确保实时库存可见性。 2):支持批次管理、序列…

文心快码——百度研发编码助手

介绍 刚从中国互联网大会中回来,感受颇深吧。百度的展商亮相了文心快码,展商人员细致的讲解让我们一行了解到该模型的一些优点。首先,先来简单介绍一下文心快码吧。 文心快码(ERNIE Code)是百度公司推出的一个预训练…

【STM32标准库】读写内部FLASH

1.内部FLASH的构成 STM32F407的内部FLASH包含主存储器、系统存储器、OTP区域以及选项字节区域。 一般我们说STM32内部FLASH的时候,都是指这个主存储器区域,它是存储用户应用程序的空间。STM32F407ZGT6型号芯片, 它的主存储区域大小为1MB。其…

ppt翻译免费怎么做?5个方法让你秒懂PPT的内容

当你收到一份来自海外的PPT资料,眼前或许是一片陌生的语言海洋,但别让这成为理解与灵感之间的障碍。 这时,一款优秀的PPT翻译软件就如同你的私人导航员,能迅速将这份知识宝藏转化为你熟悉的语言,让每一个图表、每一段…

Unity引擎制作玻璃的反射和折射效果

Unity引擎制作玻璃球玻璃杯 大家好,我是阿赵。   之前做海面效果的时候,没做反射和折射的效果,因为我觉得过于复杂的效果没有太大的实际作用。这方面的效果,我就做了现在这个例子来补充一下。 在这个demo场景里面,我…

社交媒体数据分析:赋能企业营销策略的利器

一、数据:未来的石油与导航仪 在数字化转型的大潮中,数据已成为推动企业发展的新燃料。它不仅是决策的依据,更是预见未来的水晶球。特别是在社交媒体这片广袤的海洋里,每一条帖子、每一次点赞、评论都蕴藏着消费者的偏好、市场的…

thinkphp8框架源码精讲

前言 很开心你能看到这个笔记,相信你对thinkphp是有一定兴趣的,正好大家都是志同道合的人。 thinkphp是我入门学习的第一个框架,经过这么多年了,还没好好的研究它,今年利用了空闲的时间狠狠的深入源码学习了一把&…

Proteus + Keil单片机仿真教程(五)多位LED数码管的静态显示

Proteus + Keil单片机仿真教程(五)多位LED数码管 上一章节讲解了单个数码管的静态和动态显示,这一章节将对多个数码管的静态显示进行学习,本章节主要难点: 1.锁存器的理解和使用; 2.多个数码管的接线封装方式; 3.Proteus 快速接头的使用。 第一个多位数码管示例 元件…

Qt学生管理系统(付源码)

Qt学生管理系统 一、前言1.1 项目介绍1.2 项目目标 2、需求说明2.1 功能性说明2.2 非功能性说明 三、UX设计3.1 登录界面3.2 学生数据展示3.3 信息插入和更新 三、架构说明3.1 客户端结构如下3.2 数据流程图3.2.1 数据管理3.2.2 管理员登录 四、 设计说明3.1 数据库设计3.2 结构…

嵌入式要卷成下一个Java了吗?

嵌入式系统与Java的关系在技术发展和市场需求的影响下在逐步演变,但尚未达到完全替代的阶段。我收集归类了一份嵌入式学习包,对于新手而言简直不要太棒,里面包括了新手各个时期的学习方向编程教学、问题视频讲解、毕设800套和语言类教学&…

system V共享内存【Linux】

文章目录 原理shmgetftokshmat(share memory attach)shmdt,去关联(share memory delete attach)shmctl ,删除共享内存共享内存与管道 原理 共享内存本质让不同进程看到同一份资源。 申请共享内存: 1、操作系统在物理内存当中申请…

【鸿蒙学习笔记】通过用户首选项实现数据持久化

官方文档:通过用户首选项实现数据持久化 目录标题 使用场景第1步:源码第2步:启动模拟器第3步:启动entry第6步:操作样例2 使用场景 Preferences会将该数据缓存在内存中,当用户读取的时候,能够快…

从2024上半年《人工智能现状报告》看GPU前世今生

前不久,全球领先的低代码平台Retool发布了最新的2024上半年《人工智能现状报告》,这份报告收集了约750名技术人员的意见,包括开发者、数据团队和各行业的领导者。报告通过调研人们对AI产生的情绪变化、AI应用现状、AI使用率等等几个方面总结了…

上海慕尼黑电子展开展,启明智显携物联网前沿方案亮相

随着科技创新的浪潮不断涌来,上海慕尼黑电子展在万众瞩目中盛大开幕。本次展会汇聚了全球顶尖的电子产品与技术解决方案,成为业界瞩目的焦点。启明智显作为物联网彩屏显示领域的佼佼者携产品亮相展会,为参展者带来了RTOS、LINUX全系列方案及A…

HTML 基础

文章目录 HTML 结构认识 HTML 标签HTML 文件基本结构快速生成代码框架 HTML 常见标签注释标签标题标签: h1-h6段落标签: p换行标签: br格式化标签图片标签: img超链接标签: a表格标签列表标签表单标签form 标签input 标签 label 标签select 标签textarea 标签无语义标签: div &…

浏览器书签助手mTab

本文软件由网友 P家单推人 推荐 什么是 mTab ? mTab 是免费无广告的浏览器书签助手,多端同步、美观易用的在线导航和书签工具,可以用 mTab 书签收藏并自定义常用网站的图标样式,帮助您高效管理网页和应用,提升在线体验。 官方提供…

Centos7 yum 报错「Errno 256」No more mirrors to try 解决方法

解决方案大致有三种 一、更新yum 二、若不行,可能是因为DNS不稳定吧,因为yum安装时会从三个”repo源“(base,extras,updates)随机获取地址 三、分析总结法 背景 我使用yum方式安装软件时,比…