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分析apache访问日志脚本分享
Feb 26 Python
浅谈python装饰器探究与参数的领取
Dec 01 Python
浅谈用VSCode写python的正确姿势
Dec 16 Python
Tensorflow分类器项目自定义数据读入的实现
Feb 05 Python
Python和Go语言的区别总结
Feb 20 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
pyinstaller打包opencv和numpy程序运行错误解决
Aug 16 Python
pandas-resample按时间聚合实例
Dec 27 Python
TensorFlow自定义损失函数来预测商品销售量
Feb 05 Python
Python chardet库识别编码原理解析
Feb 18 Python
python如何运行js语句
Sep 09 Python
Python OpenCV超详细讲解读取图像视频和网络摄像头
Apr 02 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中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
PHP 创建文件(文件夹)以及目录操作代码
2010/03/04 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
jQuery中next()方法用法实例
2015/01/07 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
2015/07/18 Javascript
js+html制作简单验证码
2017/02/16 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
bootstrap-Treeview实现级联勾选
2017/11/23 Javascript
浅谈vue项目打包优化策略
2018/09/29 Javascript
Vue中props的详解
2019/05/16 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
[06:23]2014DOTA2西雅图国际邀请赛 小组赛7月12日TOPPLAY
2014/07/12 DOTA
python中sys.argv参数用法实例分析
2015/05/20 Python
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
解决DataFrame排序sort的问题
2018/06/07 Python
python连接、操作mongodb数据库的方法实例详解
2019/09/11 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
python要安装在哪个盘
2020/06/15 Python
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
python re模块和正则表达式
2021/03/24 Python
家居饰品店创业计划书
2014/01/31 职场文书
基层干部2014全国两会学习心得体会
2014/03/10 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
员工自我评价范文
2015/03/11 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
教你怎么用Python实现多路径迷宫
2021/04/29 Python
Python图片处理之图片裁剪教程
2021/05/27 Python
HTML+JS实现在线朗读器
2022/02/15 Javascript
python实现双链表
2022/05/25 Python