Python 可通过 if 语句来实现三目运算的功能,因此可以近似地把这种 if 语句当成三目运算符。作为三目运算符的 if 语句的语法格式如下:

(True_statements) if (expression) else (False_statements)

三目运算的规则是:先对逻辑表达式 expression 求值,如果逻辑表达式返回 True,则执行并返回 True_statements 的值;如果逻辑表达式返回 False,则执行并返回 False_statements 的值。


举个栗子:

>>> isinput = True if input('input: ') else False
input: 996ICU
>>> isinput
True
>>> isinput = True if input('input: ') else False
input:
>>> isinput
False

三目运算简化写法:

变量 = 值1 or 值2类似于变量 = 值1 if 值1 else 值2

 

再来个栗子:

>>> content = input('input: ') or 'nothing'
input: 996ICU
>>> content
'996ICU'
>>> content = input('input: ') or 'nothing'
input:
>>> content
'nothing'

 


应用在print函数:

a = 996
b = 666
str_ = '996' if a < b else '666'
print(str_)
print('996' if True else 'icu')
print('996') if False else print('icu')
666
996
icu

 


Python允许在三目运算符的 True_statements 或 False_statements 中放置多条语句。

Python 主要支持以下两种放置方式:

1.多条语句以英文逗号隔开:每条语句都会执行,程序返回多条语句的返回值组成的元组。

>>> str_ = print('996'), 'True' if 5 > 0 else 'False', 'icu'
996
>>> str_
(None, 'True', 'icu')

2.多条语句以英文分号隔开:每条语句都会执行,程序只返回第一条语句的返回值。

>>> str_ = 'icu'; st = 'True' if 5 > 10 else print('ICU')
ICU
>>> str_
'icu'
>>> print(st)
None

 


嵌套三目运算

print('aaa') if True else (print('bbb') if False else print('ccc'))
print('aaa') if False else (print('bbb') if False else print('ccc'))
aaa
ccc

Python—三目运算的更多相关文章

  1. python 三目运算

    python中的三目运算: result = a if condition else b #当满足condition返回a否则返回b 三目运算可以使你的代码看起来简洁,且运算高效

  2. Python -三目运算(三元运算)

    if 1==1: name = "jacky" else: name = "zhuyuanlu" name = 值1 if 条件 else 值2 #如果这个条件 ...

  3. python三目运算和递归的小练习

    应用前: ''' 递归的简单实现,输出i = 5的时候的结果 ''' def diGui(i = 0): i = i +1 if i >=5: return ("{0}大于等于5&qu ...

  4. 【Python全栈笔记】03 [模块二] 16-17 Oct Set 集合,三目运算

    Set 集合 set - unordered collections of unique elements 创建一个set/一个空set # create a new set set1 = {1,2, ...

  5. python函数,lambda表达式,三目运算,列表解析,递归

    一.自定义函数 定义函数时,函数体不执行:只有在调用函数时,函数体才执行.函数的结构: 1. def 2. 函数名 3. 函数体 def func_name(): 函数体 4. 返回值 如果没有声明返 ...

  6. python运算符,数据类型,数据类型操作,三目运算,深浅拷贝

    算数运算符: Py2中精确除法需要导入:from __future__ import division,(符由特  ,将来的.滴未省,除法) py3不需要导入 赋值运算符: 比较运算符: 成员运算符: ...

  7. python中实现三目运算

    python中没有其他语言中的三元表达式,不过有类似的实现方法 如: a = 1 b =2 k = 3 if a>b else 4 上面的代码就是python中实现三目运算的一个小demo, 如 ...

  8. Python学习日记(五)——初识函数(set、深浅拷贝、三目运算、函数、全局变量和局部变量)

    基本数据类型补充 set set集合,是一个无序且不重复的元素集合 #创建 s = {11,22,33,44}#类似字典 s = set() #转换 l = (11,22,33,44) s1 = se ...

  9. python自动化测试之函数(匿名函数lambda和三目运算等(高级用法))

    ''' 匿名函数: lambda ''' def Add(a,b): print(a+b) Add(2,3) per = lambda a,b:a+b print(per(2,3)) ''' 三目运算 ...

随机推荐

  1. Hadoop —— 集群环境搭建

    一.集群规划 这里搭建一个3节点的Hadoop集群,其中三台主机均部署DataNode和NodeManager服务,但只有hadoop001上部署NameNode和ResourceManager服务. ...

  2. python基础(1)--input print if else elif while 用法说明

    1 变量名的命名规则: 由数字,字母和下划线组成,但是不能以数字开头命名变量.例如 a ,b ,c ,name ,user1 user_id 等都可作为变量名称. 1a,2b 3cd等都不行.特别注意 ...

  3. Django中CBV View的as_view()源码解析

    CBV与FBV路由区别 urlpatterns = [ url(r'^publish/$', views.Publishs.as_view()), # CBV写法 url(r'^publish/$', ...

  4. WebGL 着色器偏导数dFdx和dFdy介绍

    本文适合对webgl.计算机图形学.前端可视化感兴趣的读者. 偏导数函数(HLSL中的ddx和ddy,GLSL中的dFdx和dFdy)是片元着色器中的一个用于计算任何变量基于屏幕空间坐标的变化率的指令 ...

  5. 🔨揭秘vue-sfc-cli: 组件研发利器

    前言 本文将揭示vue单文件组件的工具 vue-sfc-cli 的内涵,说明它是如何在整个组件研发流程中提升效率的. 本文可以看成是 

  6. 分布式事务(1)---2PC和3PC理论

    分布式事务(1)---2PC和3PC理论 分布式事物基本理论:基本遵循CPA理论,采用柔性事物特征,软状态或者最终一致性特点保证分布式事物一致性问题. 分布式事物常见解决方案: 2PC两段提交协议 3 ...

  7. 记2017青岛ICPC

    2017青岛ICPC 11月4日 早上很早到达了青岛,然后去报道,走了好久的校园,穿的很少冷得瑟瑟发抖.中午教练请吃大餐,吃完饭就去热身赛了. 开幕式的时候,教练作为教练代表讲话,感觉周围的队伍看过来 ...

  8. Java连接MYSQL进行操作(增,删,改)

    连接数据库,并用表格输出数据 创建insex.jsp <table border="1" width="80%" align='center'> & ...

  9. Java设计模式学习笔记(一) 设计模式概述

    前言 大约在一年前学习过一段时间的设计模式,但是当时自己的学习方式比较低效,也没有深刻的去理解.运用所学的知识. 所以现在准备系统的再重新学习一遍,写一个关于设计模式的系列博客. 废话不多说,正文开始 ...

  10. Nginx运行报错unknown directive ""

    使用文本编辑器把编码格式修改为UTF-8即可. 推荐文本编辑器:notepad++,自行百度搜索即可下载