Python 让代码更简洁的方法(一), 条件表达式(三元运算符)

前言: 

Python使用缩进来标识语句块, 来表明代码之间的逻辑层级关系, 但有时候一些简单的代码逻辑确写了好几行, 代码看起来既不简洁也不优雅. 

其实Python提供了更贴近自然语言的语法, 可以写出更高可读性的代码. 

相关文章: 【列表表达式】【海象运算符】

1. 条件表达式(三元运算符)

日常编写代码时, if条件语句应该是使用最频繁的了, 但是当条件语句之后的代码相当简短的时候, Python代码会变得很丑

1.1 ☹️丑陋的写法

if a > b:
    m = a
else:
    m = b

1.2 😃条件表达式

语法如下, 将if 和else写到一行, 先执行condition_expr, 若执行结果为True则执行 expr1, 执行结果为False则执行expr2

 将1.1 中的代码使用条件表达式写法如下:

m = a if a < b else b

 1.3 🙄两种花里胡哨的写法

利用Python中的一些特性, 也可以实现三元操作符的结果,  但是牺牲了可读性,  更偏向炫技, 不建议在代码中使用, 这里也做一个介绍.

一种方式是利用列表list中定位元素的一个特性,

  list[ True ] == list[ 1 ],

list[ False ] == list[ 0 ]

In [1]: data = [1,2,3,4,5]

In [2]: data[True]
Out[2]: 2
In [3]: data[False]
Out[3]: 1

将condition_expr放到[]中,执行结果为 False 则定位到 val1, 执行结果为 True 则定位到val2

 将1.1 中的代码使用列表实现写法如下:

In [1]: a, b = 3, 5
In [2]: m = [a, b][a > b]   # 即, m = [a, b][False]
In [3]: m
Out[3]: 3

 第二种方式是利用逻辑运算表达式 and 和 or ,  例如语句

expr1 and expr2  

只有expr1 返回为True的时候, 才会执行expr2.

expr1返回False的之后, expr2不会执行

expr1 or expr2  

只有expr1 返回为False的时候, 才会执行expr2.

expr1返回True的之后, expr2不会执行

 

  将1.1 中的代码使用条件表达式写法如下:

 m = a<b and a or b

 总结:

if ... else ... 语句中, 如果条件分支中的代码较少, 如赋值操作语句,  优先使用条件表达式完成

花里呼哨不可取, 会对代码的可读性带来挑战

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 对于python三元运算符,它是一种特殊的运算符,它只有三个操作数,并且可以根据一个布尔表达式的值来决定执行哪个表达式。它的语法是:[on_true] if [expression] else [on_false]。 ### 回答2: Python三元运算符是一种简洁条件表达式方法。它由一个布尔表达式,一个真值返回的表达式和一个假值返回的表达式组成,通常可以用于简化if-else语句的写法。 三元运算符的语法如下: result = expr1 if condition else expr2 其中,condition是一个布尔表达式,如果为真,则返回expr1的值;否则返回expr2的值。 三元运算符的执行顺序是从左到右,首先判断condition的值,如果为True,则执行expr1并返回其值;如果为False,则执行expr2并返回其值。 三元运算符可以用于简化一些简单的决策逻辑。比如,我们可以使用三元运算符来判断一个数值是否为正数,并根据判断结果返回不同的信息。例如: num = 10 result = "正数" if num > 0 else "非正数" print(result) # 输出:"正数" 以上代码使用三元运算符判断num是否大于0,如果是,则返回"正数";如果不是,则返回"非正数"。最终将返回的结果赋值给result,并进行打印输出。 使用三元运算符可以减少代码的行数和逻辑结构的复杂度,让代码简洁和易读。但需要注意的是,过多地使用三元运算符可能会导致代码可读性降低,应根据实际情况灵活使用。 ### 回答3: Python三元运算符是一种简洁条件语句,可以在一行代码中根据条件的真假来选择返回不同的值。它的语法形式为: value_if_true if condition else value_if_false 其中,condition 是一个表达式,可以是任意的逻辑判断,value_if_true 是在条件为真时返回的值,value_if_false 是在条件为假时返回的值。 三元运算符可以使代码简洁,避免使用传统的 if-else 语句。比如,我们可以用三元运算符来判断一个数字是奇数还是偶数: num = 5 result = "奇数" if num % 2 != 0 else "偶数" print(result) 输出结果为:奇数 在这个例子中,我们使用三元运算符来判断 num 是否为偶数。如果 num % 2 不等于 0,说明 num 是奇数,我们将 "奇数" 赋给 result;否则,说明 num 是偶数,我们将 "偶数" 赋给 result。 除了判断奇数偶数,三元运算符还可以用于各种不同的条件判断和值的选择。它的语法简洁明了,可以在一行代码中完成判断和返回结果的操作。在实际编程中,我们可以根据具体的需求和条件选择合适的方式来使用三元运算符,提高代码的可读性和简洁性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值