python28-Python的运算符之三目运算符
Python可通过if语句来实现三目运算符的功能,因此可以近似地把这种if语句当成三目运算符。作为三目运算符的f语句的语法格式如下
True_statements if expression else False_statements
三目运算符的规则是:先对逻辑表达式expression求值,如果逻辑表达式返回True,则执行并返回True statements的值;如果逻辑表达式返回 False,则执行并返回False statements的值。看如下代码。
# !/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2024/01# @Author : Laopia = 7b = 4c = "a大于b" if a > b else "a不大于b"# 输出"a大于b"print(c)
实际上,如果只是为了在控制台输出提示信息,还可以将上面的三目运算符表达式改为如下形式(程序清单同上)。
# 输出"a大于b"print("a大于b") if a > b else print("a不大于b")
Python允许在三目运算符的True statements或False statements中放置多条语句。Python主要支持两种放置方式。
1)多条语句以英文逗号隔开:每条语句都会执行,程序返回多条语句的返回值组成的元组.
2)多条语句以英文分号隔开:每条语句都会执行,程序只返回第一条语句的返回值。
#第一种返回值部分使用两条语句,用逗号隔开d = print('测试划水老师傅'),'a大于b' if a>b else 'a不大于b'print(d) #(None, 'a大于b')
上面程序中True statements为print('测试划水老师傅'),a大于b这两条语句都会执行,程序将会返回这两条语句的返回值组成的元组。由于 print()函数没有返回值组成的元组,由于print()函数没有返回值,相当于它的返回值是 None。运行上面代码,将看到如下结果。

#第一个返回值部分使用两条语句,用分号隔开d = print('测试划水老师傅');x ='a大于b' if a>b else 'a不大于b'print(d) #(None, 'a大于b')print(x)
此时虽然Truestatements包含两条语句,但程序只会返回第一条语句print('测试划水老师傅')的返回值,该语句同样返回None,因此相当于str 的返回值为None。运行上面代码,将看到如下结果。

需要指出的是,三目运算符支持嵌套,通过嵌套三目运算符,可以执行更复杂的判断。例如,
下面代码需要判断c、d两个变量的大小关系:
#下面将输出“e=f”print("e大于f") if e>f else (print("e小于f") if e<f else print("e等于f"))
上面代码首先对e>f求值,如果该表达式为True,程序将会执行并返回第一个表达式:print("e大于f");否则系统将会计算else后面的内容:(print("e小于f") if e<f else print("e等于f")),这个表达式又是一个嵌套的三目运算符表达式一注意,进入该表达式时只剩下"e小于f"或"e等于f"两种情况,因此该三目运算符再次判断e<f,如果该表达式为 True,将会输出"e小于f"否则只剩下"e等于f"一种情况,自然就输出该字符串了。
相关文章:
python28-Python的运算符之三目运算符
Python可通过if语句来实现三目运算符的功能,因此可以近似地把这种if语句当成三目运算符。作为三目运算符的f语句的语法格式如下 True_statements if expression else False_statements 三目运算符的规则是:先对逻辑表达式expression求值,如果逻辑表达式…...
高德 API 10009
问题 笔者使用高德地图所提供的API接口,访问接口报错 {"info":"USERKEY_PLAT_NOMATCH","infocode":"10009","status":"0","sec_code_debug":"d41d8cd98f00b204e9800998ecf8427e"…...
Go 语言中如何大小端字节序?int 转 byte 是如何进行的?
嗨,大家好!我是波罗学。 本文是系列文章 Go 技巧第十五篇,系列文章查看:Go 语言技巧。 我们先看这样一个问题:“Go 语言中,将 byte 转换为 int 时是否涉及字节序(endianness)&#x…...
论文阅读——MP-Former
MP-Former: Mask-Piloted Transformer for Image Segmentation https://arxiv.org/abs/2303.07336 mask2former问题是:相邻层得到的掩码不连续,差别很大 denoising training非常有效地稳定训练时期之间的二分匹配。去噪训练的关键思想是将带噪声的GT坐标…...
JPEG图像的压缩标准(1)
分3个博客详细介绍JPEG图像的压缩标准,包含压缩和解压缩流程,熵编码过程和文件存储格式。 一、JPEG压缩标准概述 JPEG压缩标准由国际标准化组织 (International Organization for Standardization, ISO) 制订,用于静态图像压缩。JPEG标准包…...
数解 transformer 之 self attention transformer 公式整理
句子长度为n;比如2048,或1024,即,一句话最多可以是1024个单词。 1, 位置编码 可知,E是由n个列向量组成的矩阵,每个列向量表示该列号的位置编码向量。 2, 输入向量 加入本句话第一个单词的词嵌入向量是, 第…...
ubuntu22.04@laptop OpenCV Get Started
ubuntu22.04laptop OpenCV Get Started 1. 源由2. 步骤3. 预期&展望4. 参考资料 1. 源由 OpenCV在学校的时候接触过,不过当时专注在物理、研究方面,没有好好的学习下。 这次借后续视频分析刚性需求,对OpenCV做个入门的学习和研读&#…...
【Java】苍穹外卖 Day01
苍穹外卖-day01 课程内容 软件开发整体介绍苍穹外卖项目介绍开发环境搭建导入接口文档Swagger 项目整体效果展示: 管理端-外卖商家使用用户端-点餐用户使用当我们完成该项目的学习,可以培养以下能力: 1. 软件开发整体介绍 作为一名软件开…...
Ivanti Pulse Connect Secure VPN SSRF(CVE-2023-46805)漏洞
免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…...
GPT-4:比ChatGPT3.5好得多,但它有多好你知道么?
GPT-4简介 GPT-4是一款由OpenAI开发的人工智能语言模型,它是ChatGPT3.5的升级版。GPT-4拥有更强大的学习能力、更高的生成质量和更广泛的知识覆盖范围,被誉为人工智能技术的重要突破。 GPT-4与ChatGPT3.5的对比 1. 学习能力 GPT-4采用了更多的神经网…...
测试:JMeter如何获取非json格式的响应参数
JMeter如何获取非json格式的响应参数 在 JMeter 中获取非 JSON 格式的响应参数通常涉及使用后置处理器来提取这些参数。以下是一些常见的方法来获取不同类型的响应数据: 正则表达式提取器: 适用于提取文本、HTML、XML 等格式中的特定文本。使用正则表达…...
2024年刘谦魔术大揭秘,其中竟用到了约瑟夫环?
目录 前言 魔术过程 揭秘过程 结尾 前言 不知道昨天春晚时刘谦的魔术大家看了没有,相信大家跟我一样也很疑惑,所以爆肝一天我得出了结论。如果你觉得还不错的话,记得点赞收藏,分享给更多的朋友看。 魔术过程 整个魔术可以分…...
openssl3.2 - update debian12‘s default openssl to openssl3.2
文章目录 openssl3.2 - update debian12s default openssl to openssl3.2概述笔记回到debian12自带的openssl版本从源码编译安装最新版的openssl配置ssl访问END openssl3.2 - update debian12’s default openssl to openssl3.2 概述 在debian12虚拟机中编译了openssl3.2(ope…...
VUE2和VUE3区别对比一览
## Vue3总结 ### 官方文档 * [Vue3](https://v3.cn.vuejs.org/api/options*data.html) * [Vue2](https://vuejs.bootcss.com/api/) ### Vue3相对于Vue2的语法特性#### 1.获取数据 * vue2 javascript export default {data() {return {name: myName,}},mounted() {console.log(t…...
Linux - updatedb 命令
1. 功能 updatedb 命令用来创建或更新slocate命令所必需的数据库文件。updatedb 命令的执行过程较长,因为在执行时它会遍历整个系统的目录树,并将所有的文件信息写入 slocate 数据库文件中。 补充说明:slocate 本身具有一个数据库ÿ…...
云计算市场分析
目录 一、云计算市场概述 1.1 概述 二、国外云计算厂商 2.1 亚马逊AWS 2.2 微软AzureAzure 2.3 Apple iCloud 三、国内云计算厂商 3.1 阿里云 3.2 腾讯云 3.3 华为云 3.4 百度智能云 一、云计算市场概述 1.1 概述 云计算从出现以来,其发展就非常迅速。以…...
前端JavaScript篇之call() 和 apply() 的区别?
目录 call() 和 apply() 的区别? call() 和 apply() 的区别? 在JavaScript中,call()和apply()都是用来改变函数中this指向的方法,它们的作用是一样的,只是传参的方式不同。 call()方法和apply()方法的第一个参数都是…...
Java设计模式大全:23种常见的设计模式详解(三)
本系列文章简介: 设计模式是在软件开发过程中,经过实践和总结得到的一套解决特定问题的可复用的模板。它是一种在特定情境中经过验证的经验和技巧的集合,可以帮助开发人员设计出高效、可维护、可扩展和可复用的软件系统。设计模式提供了一种在设计和编码过程中的指导,它用于…...
汇编语言程序设计(二)十六位汇编框架、子程序与堆栈
寄存器 如下是16位通用寄存器,存储在cpu硬件中 AX 返回值 AX寄存器分为两部分 AH和AL AH 高8位 存储功能号 AL 低8位 存储返回码 以下是一个AX寄存器应用: mov ax,4c00h 4c给高位AL,00低位AL,16进制要以h结尾 BX CX 计数…...
K8S之标签的介绍和使用
标签 标签定义标签实操1、对Node节点打标签2、对Pod资源打标签查看资源标签删除资源标签 标签定义 标签就是一对 key/value ,被关联到对象上。 标签的使用让我们能够表示出对象的特点,比如使用在Pod上,能一眼看出这个Pod是干什么的。也可以用…...
如何实现ElasticHQ与ElasticSearch 8.x的完美兼容:未来就绪的监控解决方案
如何实现ElasticHQ与ElasticSearch 8.x的完美兼容:未来就绪的监控解决方案 【免费下载链接】elasticsearch-HQ Monitoring and Management Web Application for ElasticSearch instances and clusters. 项目地址: https://gitcode.com/gh_mirrors/el/elasticsearc…...
Apache Arrow Rust社区与生态:参与开源项目的最佳路径
Apache Arrow Rust社区与生态:参与开源项目的最佳路径 【免费下载链接】arrow-rs Apache Arrow Rust: 一个Rust语言实现的Apache Arrow数据交换格式,可用于高效地在不同计算引擎之间传输和操作大规模数据。它支持多种数据类型和编码方式,并提…...
家庭实验室:树莓派控制OpenClaw调用远程Qwen3-32B
家庭实验室:树莓派控制OpenClaw调用远程Qwen3-32B 1. 为什么选择树莓派OpenClaw组合 去年冬天,我在整理家庭实验室设备时发现一个闲置的树莓派4B。这台信用卡大小的电脑曾经用来跑Home Assistant控制智能家居,但后来换了NUC主机就被束之高阁…...
某高校学生考微软MOS认证加学分
临近毕业季,到底是谁的学分还没有修够?微软MOS认证证书也可以加学分,每天学习两个小时,一周就可以完成考试,当天就出证书!📌关于难度选择版本难度:2016 < 2019 < 365ÿ…...
GEO 优化系统实战指南:从架构设计到算法落地
1. GEO优化系统架构设计实战 第一次接触GEO优化系统时,我被各种空间计算概念搞得晕头转向。直到真正动手搭建系统才发现,架构设计就像搭积木,只要掌握关键模块的组装逻辑,就能构建出稳定高效的地理优化引擎。下面分享我在多个项目…...
(宏)Word题注自动化:从“图一-1”到“图1-1”的VBA实现与高效复用
1. 为什么需要题注自动化? 写论文或者技术文档的朋友肯定遇到过这样的烦恼:每次插入图片后,都要手动输入"图1-1"、"图1-2"这样的题注。更麻烦的是,如果你的章节标题用的是中文数字(比如"第一…...
MobaXterm远程连接频繁掉线?3个SSH保活设置让你告别断连烦恼
MobaXterm远程连接频繁掉线?3个SSH保活设置让你告别断连烦恼 当你在深夜调试代码,或是处理关键服务器运维任务时,突然弹出的"Connection closed"提示足以让人抓狂。MobaXterm作为Windows平台最受欢迎的全能终端工具,其免…...
ARMv8开发实战:Aarch64函数调用那些坑(含AAPCS64避坑指南)
ARMv8开发实战:Aarch64函数调用那些坑(含AAPCS64避坑指南) 在嵌入式开发和系统编程领域,ARMv8架构因其出色的能效比和性能表现,已经成为移动设备、服务器甚至超级计算机的主流选择。然而,当开发者从x86平台…...
如何用FCEUX重温经典游戏?全场景部署指南
如何用FCEUX重温经典游戏?全场景部署指南 【免费下载链接】fceux FCEUX, a NES Emulator 项目地址: https://gitcode.com/gh_mirrors/fc/fceux 为什么选择FCEUX模拟器?🎮 在众多NES模拟器中,FCEUX凭借三大核心优势脱颖而出…...
DSP28335串口调试:从printf重定向到稳定数据输出的实战解析
1. 为什么需要printf重定向? 在DSP28335开发过程中,printf函数是我们最常用的调试工具之一。想象一下,当你需要实时查看算法运行状态、变量数值或者系统日志时,如果每次都要停下来用调试器查看,那效率得多低啊…...
