当前位置: 首页 > news >正文

三元运算符

三元运算符

三元运算符通常在Python⾥被称为条件表达式

这些表达式基于真(true)/假(not)的条件判 断

在Python 2.4以上才有了三元操作。

下⾯是⼀个伪代码和例⼦:

伪代码:

如果条件为真,返回真 否则返回假

condition_is_true if condition else condition_is_false
例⼦: is_fat = True
state = "fat" if is_fat else "not fat"

它允许⽤简单的⼀⾏快速判断,⽽不是使⽤复杂的多⾏ if 语句。

这在⼤多数时候⾮常有 ⽤,⽽且可以使代码简单可维护。

另⼀个⽤法⽐较少见,它使⽤了元组,请继续看:

伪代码:

#(返回假,返回真)[真或假]
(if_test_is_false, if_test_is_true)[test]例⼦:fat = True
fitness = ("skinny", "fat")[fat]
print("Ali is ", fitness)
#输出: Ali is fat

这之所以能正常⼯作,是因为在Python中,True等于1,⽽False等于0,

这就相当于在元组 中使⽤0和1来选取数据。

上⾯的例⼦没有被⼴泛使⽤,因为没有Python味⼉ (Pythonic)。

这样的⽤法很容易把真正的数据与 True / False 弄混。

另外⼀个不使⽤元组条件表达式的缘故是因为在元组中会把两个条件都执⾏,

⽽ if - else 的条件表达式不会这样。

例如:

condition = True
print(2 if condition else 1/0)
#输出: 2print((1/0, 2)[condition])
#输出ZeroDivisionError异常

这是因为在元组中是先建数据,然后⽤True(1)/False(0)来索引到数据。

⽽ if - else条件表 达式遵循普通的 if - else 逻辑树, 因此,如果逻辑中的条

件异常,或者是重计算型(计 算较久)的情况下,最好尽量避免使用元组条

件表达式。

http://www.lryc.cn/news/61393.html

相关文章:

  • Vue3 Element-plus el-menu无限级菜单组件封装
  • ( “树” 之 BST) 669. 修剪二叉搜索树 ——【Leetcode每日一题】
  • 【C语言】浅涉结构体(声明、定义、类型、定义及初始化、成员访问及传参)
  • 设计模式-结构型模式之装饰模式
  • 【Chatgpt4 教学】 NLP(自然语言处理)第九课 朴素贝叶斯分类器的工作原理 机器学习算法
  • 基于html+css的图片展示17
  • Jupyter Notebook小知识
  • redis原理及进化之路
  • ai智能写作助手-ai自动写作软件
  • redis持久化
  • Vue项目基于driverjs实现新用户导航
  • 自编码器简单介绍—使用PyTorch库实现一个简单的自编码器,并使用MNIST数据集进行训练和测试
  • redis单机最大并发量
  • MTLAB绘图
  • 自媒体必备素材库,免费、商用,赶紧马住~
  • ESP32设备驱动-BMP388气压传感器驱动
  • 攻防世界-Reversing-x64Elf-100
  • C/C++每日一练(20230419)
  • [自注意力神经网络]Mask Transfiner网络-论文解读
  • 漫画:是喜,还是悲?AI竟帮我们把Office破活干完了
  • ChatGPT的原理分析
  • 在线免费把Markdown格式文件转换为PDF格式
  • R7-5 列车厢调度
  • English Learning - L2 第 16 次小组纠音 弱读和语调 2023.4.22 周六
  • ( “树” 之 前中后序遍历) 145. 二叉树的后序遍历 ——【Leetcode每日一题】
  • NPOI與Crystal report 13.0關於ICSharpCode.SharpZipLib控件版本衝突的解決方法
  • Sass @extend 与 继承
  • 权限控制导入到项目中
  • CVPR2020:训练多视图三维点云配准
  • string容器及其简单使用