使用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传递中文参数的问题

今天有个需要需要传递中文参数给URL 但是在GBK环境下的脚本传递GBK的参数老是给我报UNICODE的解码错误。烦的很。 所以我们果断选择用urlencode来处理中文, 由于国内外网...

Python实现二叉树的最小深度的两种方法

找到给定二叉树的最小深度 最小深度是从根节点到最近叶子节点的最短路径上的节点数量 注意:叶子节点没有子树 Example: Given binary tree [3,9,20,null...

Win10系统下安装labelme及json文件批量转化方法

Win10系统下安装labelme及json文件批量转化方法

一、安装环境:windows10,anaconda3,python3.6 由于框架maskrcnn需要json数据集,在没安装labelme环境和跑深度学习之前,我安装的是anacond...

Python迭代用法实例教程

本文实例讲述了Python中迭代的用法,是一个非常实用的技巧。分享给大家供大家参考借鉴之用。具体分析如下: 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或t...

Python栈类实例分析

本文实例讲述了python栈类。分享给大家供大家参考。具体如下: class Path: #a list used like a stack def __init__(sel...