一、三目运算符

1、if语句三目运算符语法格式

Python可以通过if'语句来实现三目运算符的功能,因此可以把这种if语句当做三目运算符,具体语法格式如下:

返回True执行 if 表达式 else 返回False执行

例:

a = "返回True执行" if 3 > 4 else "返回False执行"
print (a)  

运行结果:

返回False执行

实际上,如果只是为了在控制台输出信息,可以修改如下:

print("返回True执行") if 3 > 4 else print("返回False执行")	# 运行结果:返回False执行

2、在三目运算符中放置多条语句方式

在Python的三目运算符中,允许在"返回True执行"和"返回Flase执行"中放置多条语句,有以下两种方式:

- 使用英文逗号隔开,每条放置的语句都会执行,程序返回多条语句的返回值组成的元组。
例:

b = 3 + 1, "3 > 2",print('AAA') if 1 > 2 else print("BBB"),2 + 2
print (b)

上面的例子中,因为 1 > 2 是False,所以执行并返回3 + 1,"3 > 2",2 + 2,print("BBB")这四条语句,由于print()函数没有返回值,故返回None,运行结果如下:

BBB
(4, '3 > 2', None, 4)

- 使用英文分号隔开,每条语句都会执行,但程序只会返回第一条语句的返回值。
例:

b = 1 + 1; "3 > 2";print('AAA') if 1 > 2 else print("BBB");2 + 2
print (b)

这里的if...else...执行print("BBB"),返回的是第一条语句1 + 1的返回值2,所以,运行结果如下:

BBB
2

3、嵌套三目运算符

我们可以通过嵌套三目运算符,执行更加复杂的判断。
例:

x = 3
y = 5
print("x = y") if x == y else print("x > y") if x > y else print("x < y")

上面的例子先对x == y求值,如果返回True,则执行并返回表达式print("x = y"),否则执行嵌套的三目运算符表达式print("x > y") if x > y else print("x < y"),此时对x > y求值,如果返回True,则执行并返回表达式print("x > y"),否则执行并返回print("x < y"),运行结果:

x < y

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

  1. python三目运算符

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

  2. 26.Python三目运算符(三元运算符)用法详解

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

  3. python 三目运算符

    格式: true_res if condition else false_res Meto 1: Meto 2: >>> x = 2 >>> x+1 if x!=1 ...

  4. Python BeautifulSoup4 爬虫基础、多线程学习

    针对 崔庆才老师 的 https://ssr1.scrape.center 的爬虫基础练习.Threading多线程库.Time库.json库.BeautifulSoup4 爬虫库.py基本语法

  5. Python之三目运算符

    Python语言不像Java.JavaScript等这些语言有类似: 判段的条件?条件为真时的结果:条件为假时的结果 这样的三目运算,但是Python也有自己的三目运算符: 条件为真时的结果 if 判 ...

  6. python第五天,两个知识点三目运算符和assert抛异常处理。

    在python 2.5x之前是没有三目运算符的,但随着语言的发展,在2.5之后就加入了三目运算符 ''' 这里主要将三目运算符 其中也可以通过 x,y=4,5这种方式进行快速的声明变量和对变量赋值. ...

  7. python25 python的三目运算符

    其他语言的三目运算符大类似: 条件 ?  条件为真返回值: 条件为假返回值 python不一样: 条件为真的返回值  if  条件  else  条件为假的返回值                 或者 ...

  8. 【python】python 中的三元表达式(三目运算符)

    python中的三目运算符不像其他语言其他的一般都是 判定条件?为真时的结果:为假时的结果 如 result=5>3?1:0 这个输出1,但没有什么意义,仅仅是一个例子.而在python中的格式 ...

  9. python 类似java的三目运算符

    python中没有其他语言中的三元表达式,不过有类似的实现方法 其他语言中,例如java的三元表达式是这样 int a = 1; String b = ""; b = a > ...

随机推荐

  1. 一些unity资源

    雨凇解包 http://www.xuanyusong.com/archives/3618 http://www.cnblogs.com/lixiang-share/p/5840444.html u3d ...

  2. C++ com

    http://www.cnblogs.com/hlxs/p/3783920.html 昨天看了<COM本质论>的第一章"COM是一个更好的C++",觉得很有必要做一些笔 ...

  3. [转] iOS开发-搜索栏UISearchBar和UISearchController

    原文网址: http://www.cnblogs.com/xiaofeixiang/p/4273620.html?utm_source=tuicool iOS中UISearchDisplayContr ...

  4. Hexo - 记录一次Pages服务部署失败的原因

    问题与分析 某天忽然发现,一直运行得好好的Pages服务部署失败了,GitHub Pages报错如下: Your site is having problems building: The tag c ...

  5. 在github上下载子文件夹(svn命令)

    Q: 平时都是用git clone这个命令从github中克隆出完整的文件,但有时我们仅需要其中某个文件夹时,该如何下载? A: 可以使用svn命令来完成. 具体用法:(以视觉slam14讲的gith ...

  6. mac mysql 编码配置

    mac mysql 编码配置 (mysql目录下没有my.cnf) 想要修改编码发现自己的/usr/local/mysql/support-files里面根本没有my.cnf 安装方式是去mysql官 ...

  7. 题解 [HNOI2002]DNA分子的最佳比对 (洛谷P2268)

    题目传送门 (这道题告诉我:初始化要小心) 有没有一点最长公共子序列的赶脚(口胡) 但我觉得挺像 设 表示匹配到s1的第i位,s2的第j位,则有 的初始化要注意:根据的含义,表示s1[i]一直在匹配空 ...

  8. spring boot 使用hibernate validator 验证service

    不在controller中验证,而是在service中验证. spring boot 默认使用的就是hibernate validator,存在于pom的spring-boot-starter-web ...

  9. linux-ubuntu下调出中文输入法

    linux-ubuntu下调出中文输入法 注:此方法我并没有亲身实践过,只是觉得可能会用到,所以保存一下

  10. es6新语法系列,查找字符串,模板字符串

    一.模板字符串: ES6引入了一种新型的字符串字面量语法,我们称之为模板字符串(template strings).除了使用反撇号字符 ` 代替普通字符串的引号 ' 或 " 外,它们看起来与 ...