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星号*与**用法分析
Feb 02 Python
python使用knn实现特征向量分类
Dec 26 Python
Python合并同一个文件夹下所有PDF文件的方法
Mar 11 Python
PyQt5 在label显示的图片中绘制矩形的方法
Jun 17 Python
python实现自动化上线脚本的示例
Jul 01 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
Aug 05 Python
python中类的输出或类的实例输出为这种形式的原因
Aug 12 Python
Python 通过截图匹配原图中的位置(opencv)实例
Aug 27 Python
python 中的命名空间,你真的了解吗?
Aug 19 Python
详解Selenium 元素定位和WebDriver常用方法
Dec 04 Python
Python 用户输入和while循环的操作
May 23 Python
python运行脚本文件的三种方法实例
Jun 25 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
加速XP搜索功能堪比vista
2007/03/22 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
PHP 代码规范小结
2012/03/08 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
浅析jQuery 遍历函数,javascript中的each遍历
2016/05/25 Javascript
详解nodejs微信jssdk后端接口
2017/05/25 NodeJs
underscore之Collections_动力节点Java学院整理
2017/07/10 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
微信小程序 scroll-view 实现锚点跳转功能
2019/12/12 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
pymssql数据库操作MSSQL2005实例分析
2015/05/25 Python
图文详解WinPE下安装Python
2016/05/17 Python
Python排序搜索基本算法之归并排序实例分析
2017/12/08 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
Django 对IP访问频率进行限制的例子
2019/08/30 Python
解析python实现Lasso回归
2019/09/11 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
2020/06/17 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
Python二元算术运算常用方法解析
2020/09/15 Python
canvas学习笔记之2d画布基础的实现
2019/02/21 HTML / CSS
Julep官网:美容产品和指甲油
2017/02/25 全球购物
Lampenwelt德国:欧洲领先的灯具和照明在线商店
2018/08/05 全球购物
学生党支部先进事迹
2014/02/04 职场文书
运动会广播稿20字
2014/02/18 职场文书
县政协领导班子群众路线教育实践活动四风问题整改方案
2014/10/26 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
MySQL中日期型单行函数代码详解
2021/06/21 MySQL