python 之三元运算

## python之三元运行符

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

```
写函数,接收两个数字参数,返回比较大的那个数字
```

```python
def is_decimal(num1, num2):
    if num1 > num2:
        return num1
     return num2
```

这是正常的写法,比较如果数的大小.

我们再来看看三元运算如何写

```python
def is_decimal(num1, num2):
    c = a if a>b else b
    return c  # 三木运算
    # a if a>b else b  表示如果a大于b成立,就是a 否则就是b
```

这是一种类似于其它编程语言中三目运算符`? :`的写法。Python 是一种极简主义的编程语言,它没有引入`? :`这个新的运算符,而是使用已有的 if else 关键字来实现相同的功能。

使用 if else 实现三目运算符(条件运算符)的格式如下:

```python
      exp1 if contion else exp2
```

condition 是判断条件,exp1 和 exp2 是两个表达式。如果 condition 成立(结果为真),就执行 exp1,并把 exp1 的结果作为整个表达式的结果;如果 condition 不成立(结果为假),就执行 exp2,并把 exp2 的结果作为整个表达式的结果。

#### 三目运算符的嵌套

Python 三目运算符支持嵌套,如此可以构成更加复杂的表达式。在嵌套时需要注意 ifelse 的配对,例如:

```python
    a if a>b else c if c>d else d
    
   # 应该理解为 a if a>b else c  先运算出结果 
   如何再将得到的结果与后面的  if c>d else d  计算
    
    可以理解为:
       a if a>b else ( c if c>d else d )

```

```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") )


```

 

posted @ 2021-10-20 21:09  余鑫2020  阅读(287)  评论(0)    收藏  举报