Python 中的省略号对象

作为一名经验丰富的 Python 开发人员,您可能遇到过 Python 中的三个点…省略号对象。 如果您尝试在 Python 解释器中打印此内容,它将显示一个省略号。

本篇文章将介绍 Python 中省略号对象的使用。


使用省略号作为未编写代码的占位符

省略号对象可以以不同的方式使用。 它主要充当未编写代码的占位符。

假设我们在一个团队中工作,需要定义函数和类。 我们定义了函数和类,但不确定代码,因此我们将三个点(省略号)放在适当的位置。

这将防止 Python 解释器引发任何异常。

请参阅下面的代码。

def fun():...
print("Use of ellipsis.")

输出:

Use of ellipsis.

上面的示例显示我们将省略号对象作为 fun() 方法中未编写代码的占位符。


使用省略号代替 pass 关键字

当我们想要添加一行代码但不希望执行任何内容时,在 Python 中使用 pass 关键字。 因此,它被用作未编写代码的占位符。

正如所讨论的,我们可以使用省略号对象作为未编写代码的占位符; 因此,我们可以用它来代替 pass 关键字。

我们可以在下面的例子中看到这一点。

def fun1():...def fun2():passprint("Use of ellipsis.")

输出:

Use of ellipsis.

上面的示例显示,两个函数使用了 pass 和 ellipsis 作为未编写代码的占位符,这表明我们可以将 pass 替换为 ellipsis 对象。


在多维 numpy 数组切片中使用省略号

该对象的另一个重要用途是切片。

切片是指根据索引从对象中提取元素部分的技术。 它是在方括号中完成的。

我们还可以对多维数组执行切片,但我们需要注意数组中的总维度。 省略号可以用作切片表达式中的占位符来忽略给定的维度。

考虑以下代码。

import numpy as np
arr = np.array([[7,5,2,3],[1,8,9,2],[3,2,1,0]])
print(arr[ :,2])
print(arr[...,2])

输出:

[2 9 1]
[2 9 1]

在上面的示例中,请注意不同的切片表达式如何返回相同的结果。 省略号作为切片表达式中的占位符非常有用。

对于二维数组,表达式 arr[...,2] 可以转换为 arr[ : ,2] ,对于三维数组,可以转换为 arr[ :, : , 2] 等等。


使用省略号进行类型提示

在Python 3.5及更高版本中,引入了该单例对象的另一种用途。

类型提示允许我们声明变量、参数和返回值的类型。 我们可以在类型提示中使用省略号来仅提供部分类型。

我们可以像 Tuple[int, ...]Callable[...,int] 等一样使用它来帮助类型提示。


总结

最后,我们讨论了 Python 中的省略号对象及其用途。 它通常用作函数和类中未编写代码的占位符。

我们还可以将它用作切片中的占位符来忽略多个维度。 Python 3.5 引入了一种在类型提示中使用省略号的新方法。

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

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

相关文章

【vue2高德地图api】02-npm引入插件,在页面中展示效果

系列文章目录 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、安装高德地图二、在main.js中配置需要配置2个key值以及1个密钥 三、在页面中使用3.1 新建路由3.2新建vue页面3.2-1 index.vue3.2…

基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程的集成方法与步骤(一)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 由于大家最自定义业务表单的整个集成方法还不熟悉,下面大概介绍一下这个流程与方法。 1、首先…

2.2 如何使用FlinkSQL读取写入到文件系统(HDFS\Local\Hive)

目录 1、文件系统 SQL 连接器 2、如何指定文件系统类型 3、如何指定文件格式 4、读取文件系统 4.1 开启 目录监控 4.2 可用的 Metadata 5、写出文件系统 5.1 创建分区表 5.2 滚动策略、文件合并、分区提交 5.3 指定 Sink Parallelism 6、示例_通过FlinkSQL读取kafk…

【MySQL】索引介绍、索引的数据结构

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 索引 一、索引概述二、索引结构2.1 BTree2.…

【论文阅读】 Cola-Dif; An explainable task-specific synthesis network

文章目录 CoLa-Diff: Conditional Latent Diffusion Model for Multi-modal MRI SynthesisAn Explainable Deep Framework: Towards Task-Specific Fusion for Multi-to-One MRI Synthesis CoLa-Diff: Conditional Latent Diffusion Model for Multi-modal MRI Synthesis 论文…

使用vscode + vite + vue3+ element3 搭建vue3脚手架

技术栈 开发工具:VSCode 代码管理:Git 前端框架:Vue3 构建工具:Vite 路由:vue-router 状态管理:vuex AJAX:axios UI库:element-ui 3 数据模拟:mockjs css预处理&#xf…

【c++】跟werbtc学容器:unordered_set

1 std::unordered_set 元素无特定顺序的hash容器 D:\XTRANS\m98_rtc\ndrtc-webrtc\src\third_party\protobuf\src\google\protobuf\descriptor.cc#define HASH_MAP std::unordered_map #define HASH_SET std::unordered_set #define HASH_FXN

机器学习方法之k近邻方法的综述

机器学习方法之k近邻方法的综述 前言k近邻方法的相关综述最近邻方法k近邻方法加权k近邻方法kknn程序包的介绍前言 本篇博客的目的是想用最简单的话讲清楚k近邻方法,欢迎大家在评论区提出你们的看法,你们的批评是我前进的动力。 k近邻方法的相关综述 在统计识别领域k近邻方法…

手机爬虫用Appium详细教程:利用Python控制移动App进行自动化抓取数据

Appium是一个强大的跨平台工具,它可以让你使用Python来控制移动App进行自动化操作,从而实现数据的抓取和处理。今天,我将与大家分享一份关于使用Appium进行手机爬虫的详细教程,让我们一起来探索Appium的功能和操作,为手…

SQL实现自定义排序

业务事实上,经常会遇到排序问题,对数值类型字段排序不会有很大争议,但是有时希望对字符型字段按要求进行排序。本文记录自定义排序的几种方法。 使用case when关键字进行限定 本方法思路是将希望排序小的字符取值为较小的数字。注意end后面…

Three.js图案溶解shader

上图提供两种方式溶解显示 上面一排是根据现实的图案红色通道也就是r值进行溶解 下面一排提供额外的溶解纹理 可以通过简单更改呈现多种溶解图案 代码仓库 gitee b站账号:https://space.bilibili.com/374230437 interface IMapPath {map: string;dissolve?: string…

【C/C++】静态库和动态库命名规范及最佳实践

在软件开发中,静态库和动态库是常用的代码复用形式。为了保持良好的代码组织和可维护性,以及遵循统一的命名规范是非常重要的。本文将介绍静态库和动态库的命名规范,并提供一些最佳实践,以帮助开发人员在项目中正确命名库文件。 …

3-k8s-镜像仓库harbor搭建

文章目录 一、概念二、安装harbor三、使用harbor仓库 一、概念 官方概念:Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。 我们平时拉去镜像都是从线上仓库拉去,但是企业内部的镜像一般都不会随意传到网上,而是保存在自己公…

flutter开发实战-防抖Debounce与节流Throttler实现

flutter开发实战-防抖Debounce与节流Throttler实现 在开发中,经常遇到某些按钮或者界面操作需要做防抖或者节流操作。这里记录一下实现。 一、防抖Debounce与节流Throttler 防抖Debounce 当有可能在短时间内对一个方法进行多次调用时,需要防抖&#…

GO 工程下载依赖操作流程(go mod)

1. 写一个main.go文件 package main import ("fmt""net/http""github.com/ClickHouse/clickhouse-go" ) func main() {fmt.Println("服务启动......")http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Requ…

基于springboot实现酒店管理系统平台项目【项目源码+论文说明】计算机毕业设计

摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存…

如何优化模型渲染性能

1、提高模型渲染性能的好处 优化模型渲染性能有以下几个好处: 提高用户体验:良好的模型渲染性能可以使图形应用程序更加流畅和响应快速。当模型以较高的帧率渲染时,用户可以获得更流畅、更真实的视觉效果,提升整体的用户体验。 …

Qt 为Android app添加系统签名

Qt 为Android app添加系统签名 flyfish 一 环境 lsb_release -aNo LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 23.04 Release: 23.04 Codename: lunarQt Creator 10.0.2 构建套件 Qt 6.5.1 Clang arm64-v8a 二 运行Qt 如果没有Qt图标 在终端…

使用PM2部署spring-boot项目

一、打包应用 1、先清理之前的 2、修改pom.xml文件关于项目名称版本及jdk版本 3、在idea中直接打包项目 4、等打包完成后会在target文件夹下有一个xx.jar的文件,拷贝出来放到一个文件夹下,或者服务器指定目录下 二、使用pm2部署.jar文件 1、pm2的安装,参考地…

MyBatis涉及的动态SQL

动态 SQL 提供了更大的灵活性和可重用性&#xff0c;可以根据不同情况生成不同的 SQL 语句&#xff0c;从而满足应用程序的需求。它简化了数据库操作的编写和管理&#xff0c;提高了开发效率和代码的可维护性。 <if> 用于条件判断&#xff0c;根据条件决定是否包含某个SQ…