使用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'

相关文章

Python lambda和Python def区别分析

Python支持一种有趣的语法,它允许你快速定义单行的最小函数。这些叫做lambda的函数,是从Lisp借用来的,可以用在任何需要函数的地方。 lambda的语法时常会使人感到困惑,la...

Python实现平行坐标图的绘制(plotly)方式

Python实现平行坐标图的绘制(plotly)方式

平行坐标图简介 当数据的维度超过三维时,此时数据的可视化就变得不再那么简单。为解决高维数据的可视化问题,我们可以使用平行坐标图。以下关于平行坐标图的解释引自百度百科:为了克服传统的笛卡尔...

python 实现批量替换文本中的某部分内容

一、介绍 在做YOLOv3项目时,会需要将文本文件中的某部分内容进行批量替换和修改,所以编写了python程序批量替换所有文本文件中特定部分的内容。 二、代码实现 import re...

将TensorFlow的模型网络导出为单个文件的方法

有时候,我们需要将TensorFlow的模型导出为单个文件(同时包含模型架构定义与权重),方便在其他地方使用(如在c++中部署网络)。利用tf.train.write_graph()默认...

浅谈Pandas 排序之后索引的问题

如下所示: In [1]: import pandas as pd ...: df=pd.DataFrame({"a":[1,2,3,4,5],"b":[5,4,3,2,1]})...