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实现封装得到virustotal扫描结果
Oct 05 Python
在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
Jun 07 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
Python中使用asyncio 封装文件读写
Sep 11 Python
Python编程之基于概率论的分类方法:朴素贝叶斯
Nov 11 Python
python 划分数据集为训练集和测试集的方法
Dec 11 Python
在python带权重的列表中随机取值的方法
Jan 23 Python
Python判断对象是否相等及eq函数的讲解
Feb 25 Python
Python搭建代理IP池实现检测IP的方法
Oct 27 Python
Pandas时间序列:重采样及频率转换方式
Dec 26 Python
如何在python中判断变量的类型
Jul 29 Python
Python中常见的反爬机制及其破解方法总结
Jun 10 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/12/21 PHP
php download.php实现代码 跳转到下载文件(response.redirect)
2009/08/26 PHP
自己写的php curl库实现整站克隆功能
2015/02/12 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
HTML上传控件取消选择
2013/03/06 Javascript
js自动查找select下拉的菜单并选择(示例代码)
2014/02/26 Javascript
jQuery原型属性和原型方法详解
2015/07/07 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
Bootstrap Modal遮罩弹出层(完整版)
2016/11/21 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
详解使用create-react-app快速构建React开发环境
2018/05/16 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
2019/09/26 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
微信小程序实现自定义底部导航
2020/11/18 Javascript
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
Python去除列表中重复元素的方法
2015/03/20 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
使用TensorFlow实现二分类的方法示例
2019/02/05 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
纽约手袋品牌:KARA
2018/03/18 全球购物
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
英国索普公园票务和酒店套餐:Thorpe Breaks
2019/09/14 全球购物
财务会计应届生求职信
2013/11/24 职场文书
个人教师自我评价范文
2013/12/02 职场文书
大学生个人简历自我评价
2015/03/11 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL
vue实力踩坑之push当前页无效
2022/04/10 Vue.js