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实现多线程抓取知乎用户
Dec 12 Python
Python编程实现的简单Web服务器示例
Jun 22 Python
Python编程实现粒子群算法(PSO)详解
Nov 13 Python
python 字典 按key值大小 倒序取值的实例
Jul 06 Python
python退出命令是什么?详解python退出方法
Dec 10 Python
python实现图片中文字分割效果
Jul 22 Python
解决python中的幂函数、指数函数问题
Nov 25 Python
Django models文件模型变更错误解决
May 11 Python
opencv 查找连通区域 最大面积实例
Jun 04 Python
keras使用Sequence类调用大规模数据集进行训练的实现
Jun 22 Python
Python 使用office365邮箱的示例
Oct 29 Python
Python通过字典映射函数实现switch
Nov 06 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 组件化编程技巧
2009/06/06 PHP
php中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
PHP数组实例总结与说明
2011/08/23 PHP
PHP用身份证号获取星座和生肖的方法
2013/11/07 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
PHP微信网页授权的配置文件操作分析
2019/05/29 PHP
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
微信小程序(六):列表上拉加载下拉刷新示例
2017/01/13 Javascript
ES6新特性五:Set与Map的数据结构实例分析
2017/04/21 Javascript
使用ES6语法重构React代码详解
2017/05/09 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
手把手教你使用vue-cli脚手架(图文解析)
2017/11/08 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
python通过zlib实现压缩与解压字符串的方法
2014/11/19 Python
python3.x实现发送邮件功能
2018/05/22 Python
pyqt 实现为长内容添加滑轮 scrollArea
2019/06/19 Python
Python更换pip源方法过程解析
2020/05/19 Python
Python接口测试文件上传实例解析
2020/05/22 Python
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
英国运动服、设备及配件网站:DW Sports
2019/12/04 全球购物
Linux如何压缩可执行文件
2013/10/21 面试题
怎样写好自荐信和推荐信
2013/12/26 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
乐观自信演讲稿范文
2014/05/21 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书
mysql 数据插入优化方法之concurrent_insert
2021/07/01 MySQL
5道关于python基础 while循环练习题
2021/11/27 Python
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server