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的Django框架中创建语言文件
Jul 27 Python
Python用模块pytz来转换时区
Aug 19 Python
Python Socket实现简单TCP Server/client功能示例
Aug 05 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
Jun 27 Python
浅析Python四种数据类型
Sep 26 Python
python内存动态分配过程详解
Jul 15 Python
django mysql数据库及图片上传接口详解
Jul 18 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
Aug 02 Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 Python
Keras使用ImageNet上预训练的模型方式
May 23 Python
python对批量WAV音频进行等长分割的方法实现
Sep 25 Python
Matplotlib可视化之添加让统计图变得简单易懂的注释
Jun 11 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 文件状态缓存带来的问题
2008/12/14 PHP
小文件php+SQLite存储方案
2010/09/04 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
用js实现的自定义的对话框的实现代码
2010/03/21 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
JS遍历Json字符串中键值对先转成JSON对象再遍历
2014/08/15 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
jQuery实现简单下拉导航效果
2015/09/07 Javascript
基于JQuery实现图片轮播效果(焦点图)
2016/02/02 Javascript
js 定位到某个锚点的方法
2016/11/19 Javascript
详解vuex的简单todolist例子
2019/07/14 Javascript
微信小程序通过js实现瀑布流布局详解
2019/08/28 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
浅谈编码,解码,乱码的问题
2016/12/30 Python
Python实现对字符串的加密解密方法示例
2017/04/29 Python
高效测试用例组织算法pairwise之Python实现方法
2017/07/19 Python
pandas通过loc生成新的列方法
2018/11/28 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
Django视图扩展类知识点详解
2019/10/25 Python
Pythonic版二分查找实现过程原理解析
2020/08/11 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
环保公益广告语
2014/03/13 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫