网站首页 > java教程 正文
我们从一个具体的例子切入本节内容。假设现在有两个数字,我们希望获得其中较大的一个,那么可以使用ifelse语句,例如:
if a>b:
max = a;
else:
max = b;1234复制代码类型:[python]
但是Python提供了一种更加简洁的写法,如下所示:
max = a if a>b else b1复制代码类型:[python]
这是一种类似于其它编程语言中三目运算符?:的写法。Python是一种极简主义的编程语言,它没有引入?:这个新的运算符,而是使用已有的ifelse关键字来实现相同的功能。
使用ifelse实现三目运算符(条件运算符)的格式如下:
exp1 if contion else exp21复制代码类型:[python]
condition是判断条件,exp1和exp2是两个表达式。如果condition成立(结果为真),就执行exp1,并把exp1的结果作为整个表达式的结果;如果condition不成立(结果为假),就执行exp2,并把exp2的结果作为整个表达式的结果。
前面的语句max=aifa>belseb的含义是:
如果a>b成立,就把a作为整个表达式的值,并赋给变量max;
如果a>b不成立,就把b作为整个表达式的值,并赋给变量max。
三目运算符的嵌套
Python三目运算符支持嵌套,如此可以构成更加复杂的表达式。在嵌套时需要注意if和else的配对,例如:
a if a>b else c if c>d else d1复制代码类型:[python]
应该理解为:
a if a>b else ( c if c>d else d )1复制代码类型:[python]
【实例】使用Python三目运算符判断两个数字的关系:
a = int( input("Input a: ") )
b = int( input("Input b: ") )
print("a大于b") if a>b else ( print("a小于b") if a<b else print("a等于b") )123复制代码类型:[python]
可能的运行结果:
Input a: 45↙
Input b: 100↙
a小于b123复制代码类型:[python]
该程序是一个嵌套的三目运算符。程序先对a>b求值,如果该表达式为True,程序就返回执行第一个表达式print("a大于b"),否则将继续执行else后面的内容,也就是:
( print("a小于b") if a<b else print("a等于b") )1复制代码类型:[python]
进入该表达式后,先判断a<b是否成立,如果a<b的结果为True,将执行print("a小于b"),否则执行print("a等于b")。
猜你喜欢
- 2024-09-27 「编程基础」零基础学习Java之运算符
- 2024-09-27 C语言中的“隐形”语法:三目运算符极致解析
- 2024-09-27 Java运算符之算术运算符和举例说明
- 2024-09-27 java运算符顺序(java中运算符的优先顺序)
- 2024-09-27 【学习笔记】分支结构的第三大板块:三目运算符
- 2024-09-27 【java】运算符基础 【java】运算符基础 #运算符
- 2024-09-27 java基本语法之运算符(java语言中的运算符有哪些)
- 2024-09-27 Spring SpEL三元运算符(sql三元运算符)
- 2024-09-27 Java中的运算符(java中的运算符是用来表示某种运算的符号)
- 2024-09-27 Java运算符和表达式(java运算符和表达式答案)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)