Python第二语言(七、Python模块)

目录

1. 什么是模块

2. 基本语法

2.1 模块的导入方式

2.2 基本语法 import 模块名

2.3 基本语法 from 模块名 import 功能名

2.4 基本语法as 别名

3. 自定义模块

4. 调用自定义模块时,如何让其模块中的函数不被调用(__name__)

5. 调用自定义模块时只取定义的函数(__all__)


1. 什么是模块

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

2. 基本语法

2.1 模块的导入方式

常用的组合形式如:

  1. import 模块名**;**
  2. from 模块名 import 类、变量、方法等from 模块名 import *;
  3. import 模块名 as别名;
  4. from模块名import功能名as 别名;
[from 模块名] import [模块 | 类 | 变量 | 函数 | *] [as 别名] 
2.2 基本语法 import 模块名

基本语法:

# 基本语法
import 模块名
import 模块名1, 模块名2

模块名.功能名()

案例:

# 导入模块
import time

print("开始")
time.sleep(1)  # 使程序睡眠1秒
print("结束")

2.3 基本语法 from 模块名 import 功能名
# from 模块名 import功能名
# 功能名()

from time import sleep
print("开始")
sleep(1)
print("结束")

2.4 基本语法as 别名
# 模块定义别名

import 模块名 as 别名

# 功能定义别名
from 模块名 import 功能 as 别名
# 案例
import time as im

im.time(2)

from time import sleep as sp

sp(2)

3. 自定义模块

Python中有很多已经实现的模块,不过有时候需要我们定义个性化的模块:

4. 调用自定义模块时,如何让其模块中的函数不被调用(__name__)

  • Python中if name == ‘main‘:的作用和原理_python if-CSDN博客
  • 这个if的作用是:__name__这是python自带的不用管,'main'会把下面这个函数取一个叫做'main'的名字,当等于这个名字的时候才会执行。防止被调用整个模块的时候把当前的函数也调用了。
  • if name == "main": 这句话就是作为一个条件限制吧,这句话以下的代码只有在运行的这个.py文件的时候才会执行,当作为模块在别的.py文件中调用的时候本.py文件中这句话下面的代码不会执行
def test(a, b):
    print(a + b)


# '__main__'会把下面这个函数取一个叫做'__main__'的名字,
# 当等于这个名字的时候才会执行,防止被调用整个模块的时候把当前的函数也调用了;
if __name__ == '__main__':
    test(1, 2)

5. 调用自定义模块时只取定义的函数(__all__)

# 如果模块文件有__all__变量,当使用from xxx import * 导入时,只能导入这个列表中的元素
__all__ = ['test_a']


def test_a():
    print('testA')


def test_b():
    print('testB')
from test import *

# 只可调用test_a
test_a()

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot 3 oauth2认证this.authorizationService.save(authorization)生成token报错异常

springboot 3 oauth2认证this.authorizationService.save(authorization)生成token报错异常&#xff0c;使用springboot版本3.3.0。 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId>&…

【Qt】软件打包

1.qt 打包 1.1 修改APP图标 在*.pro中最下面添加RC_ICONS logo.ico注意&#xff1a;logo.ico为图片名称 效果&#xff1a; 1.2 打包文件 将包含exe文件的copy到自己打包文件夹 修改release构建目录 找到构建工程的构建 release 版本 构建&#xff0c;保险起见构建完编译…

家庭电脑私网如何访问阿里云服务器的指定端口

这里我们以在阿里云服务器上部署一个redis server 服务&#xff0c;对外开放6379端口为例子&#xff0c;其他端口类似。 1.获取当前电脑主机对应的公网IP, 可以https://tool.lu/ip/通过这个网站拿到。 2.阿里云服务器控制台设置防火墙&#xff0c;如下图所示&#xff0c;直接添…

基于关键词自动采集抖音视频排名及互动数据(点赞、评论、收藏)

在当今的社交媒体时代&#xff0c;抖音作为一个热门短视频平台&#xff0c;吸引了大量用户和内容创作者。对于研究和分析抖音上的热门视频及其互动数据&#xff08;如点赞、评论、收藏等&#xff09;&#xff0c;自动化的数据采集工具显得尤为重要。本项目旨在开发一个基于关键…

【C语言】Leetcode-312 戳气球

文章目录 题目思路代码如下 题目 链接: Leetcode-312 戳气球 思路 我们观察戳气球的操作&#xff0c;发现这会导致两个气球从不相邻变成相邻&#xff0c;使得后续操作难以处理。于是我们倒过来看这些操作&#xff0c;将全过程看作是每次添加一个气球。 首先 我们需要创建一个…

【ArcGISProSDK】 读取多面体信息并导出XML

结果展示 代码 using ArcGIS.Core.CIM; using ArcGIS.Core.Data; using ArcGIS.Core.Data.DDL; using ArcGIS.Core.Geometry; using ArcGIS.Core.Internal.CIM; using ArcGIS.Desktop.Catalog; using ArcGIS.Desktop.Core; using ArcGIS.Desktop.Editing; using ArcGIS.Deskto…

一文学习yolov5 实例分割:从训练到部署

一文学习yolov5 实例分割&#xff1a;从训练到部署 1.模型介绍1.1 YOLOv5结构1.2 YOLOv5 推理时间 2.构建数据集2.1 使用labelme标注数据集2.2 生成coco格式label2.3 coco格式转yolo格式 3.训练3.1 整理数据集3.2 修改配置文件3.3 执行代码进行训练 4.使用OpenCV进行c部署参考文…

网络通讯协议UDP转发TCP工具_UdpToTcpRelay

网络通讯协议UDP转发TCP工具_UdpToTcpRelay 本程序旨在提供一个灵活的、可配置的服务&#xff0c;它处理特定的UDP端口以接收命令&#xff0c;然后将这些命令转换为TCP命令并通过网络发送到指定的TCP服务器【TCP支持十六进制和ASCII】。 此设计特别适用于需要远程控制或自动化…

智慧互联网医院系统开发指南:从源码到在线问诊APP

近期&#xff0c;互联网医院系统的热度非常高&#xff0c;很多人跟小编提问如何开发&#xff0c;今天小编将从零开始为大家详解互联网医院系统源码&#xff0c;以及在线问诊APP开发技术。 一、需求分析与系统设计 1.1 需求分析 用户管理 预约挂号 在线问诊 电子病历 药品…

车载电子电气架构 --- 车载信息安全

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

手写kNN算法的实现-用余弦相似度来度量距离

设a为预测点&#xff0c;b为其中一个样本点&#xff0c;在向量空间里&#xff0c;它们的形成的夹角为θ&#xff0c;那么θ越小&#xff08;cosθ的值越接近1&#xff09;&#xff0c;就说明a点越接近b点。所以我们可以通过考察余弦相似度来预测a点的类型。 from collections i…

群体优化算法----树蛙优化算法介绍以及应用于资源分配示例

介绍 树蛙优化算法&#xff08;Tree Frog Optimization Algorithm, TFO&#xff09;是一种基于群体智能的优化算法&#xff0c;模拟了树蛙在自然环境中的跳跃和觅食行为。该算法通过模拟树蛙在树枝间的跳跃来寻找最优解&#xff0c;属于近年来发展起来的自然启发式算法的一种 …

k8s挂载配置文件(通过ConfigMap方式)

一、ConfigMap简介 K8s中的ConfigMap是一种用于存储配置数据的API对象&#xff0c;属于Kubernetes中的核心对象。它用于将应用程序的配置信息与容器镜像分离&#xff0c;以便在不重新构建镜像的情况下进行配置的修改和更新。ConfigMap可以存储键值对、文本文件或者以特定格式组…

前后端分离

简要介绍 【【2020版】4小时学会Spring BootVue前后端分离开发】https://www.bilibili.com/video/BV137411B7vB?vd_source63e3491e19d2e508b4778a57ebd65ccf 传统模式 前后端分离 前端&#xff1a;负责数据应用和用户交互 后端&#xff1a;负责数据处理接口 前端HTML--&g…

【内网攻防实战】红日靶场(一)续篇_金票与银票

红日靶场&#xff08;一&#xff09;续篇_权限维持 前情提要当前位置执行目标 PsExec.exe拿下域控2008rdesktop 远程登录win7msf上传文件kail回连马连上win7upload上传PsExec.exe PsExec.exe把win7 带到 2008&#xff08;域控hostname&#xff1a;owa)2008开远程、关防火墙Win7…

GPT-4欺骗人类的惊人成功率达99.16%!

PNAS重磅研究揭示&#xff0c;LLM推理能力越强欺骗率越高&#xff01;&#xff01; 此前&#xff0c;MIT的研究发现&#xff0c;AI在各类游戏中为了达到目的&#xff0c;不择手段&#xff0c;学会用佯装和歪曲偏好等方式欺骗人类。 GPT-4o深夜发布&#xff01;Plus免费可用&…

五个避免的管理错误:提升团队绩效与发展

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

【Java SE】字符串常量池详解,什么情况下字符串String对象存在常量池,通过==进行判断,字符串创建及截取后是否同一个对象

复习字符串创建方式 字符串的31种构造方法 public String();创建一个空白字符串&#xff0c; 不含有任何内容public String(char[] array);根据字符数组的内容&#xff0c;来创建对应的字符串public String(byte[] array);根据字节数组的内筒&#xff0c;来创建对应的字符串 …

Win10下CodeBlock实现socket TCP server/client

文章目录 1 安装codeblock2 适配libws2_32.a库3 TCP socket工作原理4 代码实现服务端客户端5 运行效果1 安装codeblock 官方免费下载 值得一提的是,安装时,指定安装路径,其他默认安装即可 2 适配libws2_32.a库 默认安装,只有3个库,如果编译socket,需要专门的库libws2…

Maven项目的创建

目录 1、Maven简介配置&#xff08;1&#xff09;设置本地仓库&#xff08;2&#xff09;修改Maven的jdk版本&#xff08;3&#xff09;添加国内镜像源添加到idea中 2、常用命令3、IDEA2023创建Maven项目&#xff08;1&#xff09;Maven和Maven Archetype区别&#xff08;1-1&a…