专业的JAVA编程教程与资源

网站首页 > java教程 正文

Python三目运算符(三元运算符)用法详解

temp10 2024-09-27 02:49:38 java教程 8 ℃ 0 评论

我们从一个具体的例子切入本节内容。假设现在有两个数字,我们希望获得其中较大的一个,那么可以使用ifelse语句,例如:

if a>b:
    max = a;
else:
    max = b;1234复制代码类型:[python]

但是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")。

开课吧广场-人才学习交流平台

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表