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中的五种异常处理机制介绍
Sep 02 Python
Python 详解基本语法_函数_返回值
Jan 22 Python
pycharm创建一个python包方法图解
Apr 10 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
Aug 26 Python
Python Lambda函数使用总结详解
Dec 11 Python
3种python调用其他脚本的方法
Jan 06 Python
tensorflow 获取checkpoint中的变量列表实例
Feb 11 Python
Python3实现打印任意宽度的菱形代码
Apr 12 Python
python如何运行js语句
Sep 09 Python
python 如何调用 dubbo 接口
Sep 24 Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
Jan 18 Python
python pyg2plot的原理知识点总结
Feb 28 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
MYSQL数据库初学者使用指南
2006/11/16 PHP
php实现有趣的人品测试程序实例
2015/06/08 PHP
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
7个让JavaScript变得更好的注意事项
2015/01/28 Javascript
JavaScript 数组some()和filter()的用法及区别
2016/05/20 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
[56:14]Fnatic vs OG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python urlopen 使用小示例
2008/09/06 Python
python海龟绘图实例教程
2014/07/24 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
python中property和setter装饰器用法
2019/12/19 Python
用什么库写 Python 命令行程序(示例代码详解)
2020/02/20 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
2020/07/07 Python
Python如何输出警告信息
2020/07/30 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
英国音乐设备和乐器商店:Gear4music
2017/10/16 全球购物
【魔兽争霸3重制版】原版画面与淬火MOD画面对比
2021/03/26 魔兽争霸
应届生服务员求职信
2013/10/31 职场文书
元旦晚会邀请函
2014/01/27 职场文书
《草原》教学反思
2014/02/15 职场文书
农民工讨薪标语
2014/06/26 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
2015年公务员个人工作总结
2015/04/24 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
乔迁新居祝福语
2019/11/04 职场文书
给原生html中添加水印遮罩层的实现示例
2021/04/02 Javascript
python实现进度条的多种实现
2021/04/29 Python
GTX1660显卡搭配显示器推荐
2022/04/19 数码科技