使用Python的判断语句模拟三目运算

yipeiwu_com6年前Python基础

下面说的和三目运算有点相似,但又不一样,实在不知道该如何拟定标题,先就是这个标题吧,大家都知道python中没有三目运算,但是and/or有点类似三目运算:
and/or

单独使用表示逻辑关系与和或,也可以组和使用,用法如下
and

and前后如果某一个值为假(False, '', [], {}, None…)则返回第一个假值 如果所有值都为真则返回最后一个真值
or

如果or任意一个值为真,则立刻返回这个值 如果所有值都为假,则or返回最后一个假值
例子

result = 'test' and True # result = True
result = 'test' and 'ortest' # result = ortest
result = False and 'ortest' # result = False
result = '' and None # result = ''

result = '' or "Hall" # result = Hall
result = False or None # result = None
result = 'test' or 'nottest' # result = test

使用单行if else 模拟三目运算

result if True / False else fresult if为真时候结果为result,为假的时候结果为fresult

result = 'test' if True else 'not test' # result = 'test'
result = 'test' if False else 'not test' # result = 'not test'

相关文章

如何使用django的MTV开发模式返回一个网页

如何使用django的MTV开发模式返回一个网页

1.MTV开发模式介绍 M:Models 模型(数据) 与数据组织相关的功能。组织和存储数据的方法和模式,与数据模型相关的操作。 T:Templates 模板(样式) 与表现相关的所有...

利用Python查看目录中的文件示例详解

前言 我们在日常开发中,经常会遇到一些关于文件的操作,例如,实现查看目录内容的功能。类似Linux下的tree命令。统计目录下指定后缀文件的行数。 功能是将目录下所有的文件路径存入lis...

numpy和pandas中数组的合并、拉直和重塑实例

合并 在numpy中合并两个array numpy中可以通过concatenate,参数axis=0表示在垂直方向上合并两个数组,等价于np.vstack;参数axis=1表示在水平方向...

python3.4用循环往mysql5.7中写数据并输出的实现方法

如下所示: #!/usr/bin/env python # -*- coding:utf-8 -*- # __author__ = "blzhu" """ python study...

Python 虚拟空间的使用代码详解

Python 虚拟空间的使用代码详解

具体代码如下所示: # 在项目根目录创建 python3 -m venv 虚拟空间名称 ## 如 python3 -m venv myvenv # 对于 macOS ## 在项目根...