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 逻辑树, 因此,如果逻辑中的条


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

    件表达式。

    相关文章
    |
    1月前
    |
    Python
    【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
    本篇将详细介绍Python中的运算符,包括数学运算、关系运算、逻辑运算、赋值运算和成员运算等内容。同时会说明运算符的优先级和运算顺序,帮助用户理解和掌握Python中的运算符使用规则。
    37 3
    【10月更文挑战第7天】「Mac上学Python 14」基础篇8 - 运算符详解
    |
    1月前
    |
    自然语言处理 Python
    【python从入门到精通】-- 第三战:输入输出 运算符
    【python从入门到精通】-- 第三战:输入输出 运算符
    65 0
    【python从入门到精通】-- 第三战:输入输出 运算符
    |
    1月前
    |
    存储 Java 编译器
    Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
    这篇文章是关于Python编程语言中变量命名规则、基本数据类型、算数运算符、比较运算符、逻辑运算符、赋值运算符以及格式化输出与输入的详细教程。
    18 0
    Python学习三:学习python的 变量命名规则,算数、比较、逻辑、赋值运算符,输入与输出。
    |
    1月前
    |
    Python
    Python操作:字符串--列表--元组--字典--运算符 (一)
    Python操作:字符串--列表--元组--字典--运算符 (一)
    |
    1月前
    |
    Python
    Python操作:字符串--列表--元组--字典--运算符 (二)
    Python操作:字符串--列表--元组--字典--运算符 (二)
    |
    3月前
    |
    JavaScript 前端开发 开发者
    如何在 Python 中使用三元运算符?
    【8月更文挑战第29天】
    35 3
    |
    3月前
    |
    算法 测试技术 Python
    Python接口自动化测试框架(基础篇)-- 有点意思的运算符
    这篇文章介绍了Python中的各种运算符,包括算术运算符、比较运算符、赋值运算符、逻辑运算符、成员运算符、位运算符和身份运算符,并讨论了运算符的优先级,以及序列类型的相关知识。
    21 0
    Python接口自动化测试框架(基础篇)-- 有点意思的运算符
    |
    3月前
    |
    Python
    二:《Python基础语法汇总》— 输入与输出&运算符
    【8月更文挑战第16天】本篇文章详细讲述了关于输入输出函数的语法及占位符;转义字符和运算符的使用,并附上详细的代码示例
    35 2
    |
    4月前
    |
    数据采集 网络协议 数据挖掘
    网络爬虫进阶之路:深入理解HTTP协议,用Python urllib解锁新技能
    【7月更文挑战第30天】网络爬虫是数据分析和信息聚合的关键工具。深入理解HTTP协议及掌握Python的urllib库对于高效爬虫开发至关重要。HTTP协议采用请求/响应模型,具有无状态性、支持多种请求方法和内容协商等特点。
    51 3
    |
    4月前
    |
    网络协议 开发者 Python
    网络编程小白秒变大咖!Python Socket基础与进阶教程,轻松上手无压力!
    【7月更文挑战第25天】在网络技术快速发展的背景下, Python因其简洁的语法和强大的库支持成为学习网络编程的理想选择。
    69 5