python return逻辑判断表达式实现解析


Posted in Python onDecember 02, 2019

这篇文章主要介绍了python return逻辑判断表达式实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一.return逻辑判断表达式 and

and:遇假则假,所以前面为假就不执行和判断后面直接返回假;前面为真则继续判断执行后面直到表达式结束或者出现假为

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): shuopython.com
@WeChat Official Account(微信公众号):猿说python
@Github:www.github.com
 
@File:python_return.py
@Time:2019/10/6 19:48
 
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""
 
def fun1():
  # 所有条件都为真,返回最后一个值
  return "21" and True
 
def fun2():
  # 检测所有表达式,直到遇到假为止,并返回假
  return 54 and 1 and True and 0
 
def fun3():
  # 遇到真,继续后面的判断,直到遇到假为止,如果遇见假直接返回,不再继续判断
  return 1 and True and False and 54 and 0
 
print(fun1())
print(fun2())
print(fun3())

输出结果:

True
0
False

小敲门:

1.如果有假的表达式:返回值为第一个假表达式的结果;

2.如果没有假的表达式:返回值为最后一个真表达式的结果;

二.return逻辑判断表达式 or

or:遇真则真,所以前面为真就不执行和判断后面;前面为假则继续判断执行后面直到表达式结束或者出现真为止;

def fun1():
  # 所有条件都为真,返回第一个真的表达式
  return "21" or True
 
def fun2():
  # 所有条件都为假,直到遇到真为止,并返回真,没有真则返回最后一个假
  return "" or False or 0
 
def fun3():
  # 直到遇到真为止,并返回真,不在继续后面的判断
  return 0 or True or False or 54 or 0
 
print(fun1())
print(fun2())
print(fun3())

输出结果:

21
0
True

小敲门:

1.如果有真的表达式:返回值为第一个真表达式的结果;

2.如果没有真的表达式:返回值为最后一个假表达式的结果;

三.return逻辑判断表达式 and和or配合使用

and和or配合使用:其实并没有先后顺序,表达式重前往后依次执行,上一个表达式的结果作为下一个表达式的开始;

def fun1():
  '''
  动作分解:
 
  第一步:"21" and True 返回结果 True
  第二步:True or 1 返回结果 True
  注意第二步 True or 1 中的 True 是第一步返回的结果并不是表达式中的True
  '''
  return "21" and True or 1 #等价:return (("21" and True) or 1)
 
def fun2():
  '''
  动作分解:
 
  第一步:"" or False 返回结果 False
  第二步:False and 0 返回结果 False
  注意第二步 False and 0 中的 False 是第一步返回的结果并不是表达式中的 False
  '''
  return "" or False and 0 #等价:return (("" or False) and 0)
 
def fun3():
  '''
  动作分解:
 
  第一步:0 or True 返回结果 True
  第二步:True and False 返回结果 False
  第三步:False or 54 返回结果 54
  第四步:54 and 0 返回结果 0
  注意:上一步的结果作为下一步的开始
  '''
  return 0 or True and False or 54 and 0 #等价:return ((((0 or True) and False) or 54) and 0)
 
def fun4():
  '''
  动作分解:
 
  第一步:0 and True and False 返回结果 0
  第二步:0 or 54 返回结果 54
  第三步:54 and 0 返回结果 0
  注意:上一步的结果作为下一步的开始
  '''
  return 0 and True and False or 54 and 0 #等价:return (((0 and True and False) or 54) and 0)
 
print(fun1())
print(fun2())
print(fun3())
print(fun4())

输出结果:

True
False
0
0

四.重点总结

其实作为一个普通函数直接返回字符串或者其他数据类型就完了,为何非要这样费力不讨好?学习学习,学习是一个过程,我想我们应该过程中成长,不然即使写了一万次hello world又有何用?return逻辑判断表达式 / 字典推导式 / 列表推导式 都是在各种开源项目中频繁使用得写法,这往往也是编程水平的一种提现。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python re正则表达式模块(Regular Expression)
Jul 16 Python
Python 操作文件的基本方法总结
Aug 10 Python
Flask 让jsonify返回的json串支持中文显示的方法
Mar 26 Python
python 按照固定长度分割字符串的方法小结
Apr 30 Python
Python DataFrame设置/更改列表字段/元素类型的方法
Jun 09 Python
python让列表倒序输出的实例
Jun 25 Python
Ubuntu下Python2与Python3的共存问题
Oct 31 Python
opencv调整图像亮度对比度的示例代码
Sep 27 Python
命令行运行Python脚本时传入参数的三种方式详解
Oct 11 Python
使用PyOpenGL绘制三维坐标系实例
Dec 24 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
Feb 04 Python
Elasticsearch 索引操作和增删改查
Apr 19 Python
Python线程障碍对象Barrier原理详解
Dec 02 #Python
python 循环数据赋值实例
Dec 02 #Python
python创建n行m列数组示例
Dec 02 #Python
python 创建一维的0向量实例
Dec 02 #Python
python 初始化一个定长的数组实例
Dec 02 #Python
Python生态圈图像格式转换问题(推荐)
Dec 02 #Python
python 申请内存空间,用于创建多维数组的实例
Dec 02 #Python
You might like
php中文件上传的安全问题
2006/10/09 PHP
PHP4实际应用经验篇(4)
2006/10/09 PHP
php.ini 中文版
2006/10/28 PHP
PHP文章按日期(月日)SQL归档语句
2012/11/29 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
php生成唯一的订单函数分享
2015/02/02 PHP
js实现每日自动换一张图片的方法
2015/05/04 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
基于jQuery实现仿百度首页选项卡切换效果
2016/05/29 Javascript
Ajax 加载数据 练习代码
2017/01/05 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
详解Vue单元测试Karma+Mocha学习笔记
2018/01/31 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
layui实现table加载的示例代码
2018/08/14 Javascript
JS canvas绘制五子棋的棋盘
2020/05/28 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
2018/11/10 Javascript
详解 javascript对象创建模式
2020/10/30 Javascript
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
简单讲解Python编程中namedtuple类的用法
2016/06/21 Python
python实现简易云音乐播放器
2018/01/04 Python
python 显示数组全部元素的方法
2018/04/19 Python
python利用tkinter实现屏保
2019/07/30 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
家长学校实施方案
2014/03/15 职场文书
初中英语课后反思
2014/04/25 职场文书
建筑工程造价专业自荐信
2014/07/08 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
2014年教师节演讲稿
2014/09/03 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
少儿励志名言(80句)
2019/08/14 职场文书
68句权威创业名言
2019/08/26 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL