Python 进阶之术 三元运算符

简介: Python 进阶之术 三元运算符

" 本文字数:578 字 ||

阅读时间1.5

分钟 "


三元运算符


三元运算符通常在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)
#输出: 2


    print((1/0, 2)[condition])
    #输出ZeroDivisionError异常


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

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


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

    件表达式。

    相关文章
    |
    2月前
    |
    Python
    Python运算符优先级
    Python运算符优先级。
    27 3
    |
    2月前
    |
    Python
    Python成员运算符
    Python成员运算符
    36 2
    |
    2月前
    |
    Python
    Python身份运算符
    Python身份运算符。
    30 1
    |
    2月前
    |
    Python
    Python赋值运算符
    Python赋值运算符。
    30 2
    |
    2月前
    |
    Python
    Python比较运算符
    Python比较运算符。
    34 2
    |
    3月前
    |
    Python
    【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
    本篇将详细介绍Python中的运算符,包括数学运算、关系运算、逻辑运算、赋值运算和成员运算等内容。同时会说明运算符的优先级和运算顺序,帮助用户理解和掌握Python中的运算符使用规则。
    47 3
    【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
    |
    3月前
    |
    自然语言处理 Python
    【python从入门到精通】-- 第三战:输入输出 运算符
    【python从入门到精通】-- 第三战:输入输出 运算符
    79 0
    【python从入门到精通】-- 第三战:输入输出 运算符
    |
    3月前
    |
    存储 Java 编译器
    Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
    这篇文章是关于Python编程语言中变量命名规则、基本数据类型、算数运算符、比较运算符、逻辑运算符、赋值运算符以及格式化输出与输入的详细教程。
    35 0
    Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
    |
    3月前
    |
    Python
    Python操作:字符串--列表--元组--字典--运算符 (一)
    Python操作:字符串--列表--元组--字典--运算符 (一)
    26 0
    |
    3月前
    |
    Python
    Python操作:字符串--列表--元组--字典--运算符 (二)
    Python操作:字符串--列表--元组--字典--运算符 (二)
    30 0