python and or用法详解


Posted in Python onJune 26, 2019

and 和 or 是python的两个逻辑运算符,可以使用and , or来进行多个条件内容的判断。下面通过代码简单说明下and or的用法:

1. or:当有一个条件为真时,该条件即为真。逻辑图如下:

python and or用法详解

测试代码如下:

a=raw_input('please input somting:')
if a=='a' or a=='b':
  print 'it is a or b'
else:
  print 'it is not a or b'

执行代码,输入a,b,ac,结果如下:

please input somting:a
it is a or b

please input somting:b
it is a or b

please input somting:ac
it is not a or b

通过这个例子,我们可以看出,当输入为a或者b时,满足 a==‘a'或者a=='b'的条件,即满足if条件。

2.or:当所有条件为真时,该条件即为真。逻辑图如下:

python and or用法详解

测试代码如下:

a=raw_input('please input somting:')
if a!='a' and a!='b':
  print 'it is not a or b'
else:
  print 'it is a or b'

执行代码,输入a,b,ac,结果如下:

please input somting:a
it is a or b

please input somting:b
it is a or b

please input somting:ac
it is not a or b

通过这个例子,我们可以看出,只有当条件同时满足a!='a' 和 a!='b'时,才会执行 print 'it is not a or b'

3.为了深入了解and or的用法,考虑到当a='a' or 'b'或者a='a' and 'b'时,会是怎么样子的呢。让我们先测试or的用法看下,测试代码如下:

a=raw_input('please input somting:')
if a=='a' or 'b':
  print 'it is a or b'
else:
  print 'it is not a or b'

我们输入a,b,q,结果如下:

please input somting:a
it is a or b

please input somting:b
it is a or b

please input somting:q
it is a or b

我们发现,无论输入什么,都满足a==‘a' or 'b'这个条件,这是为什么呢?这时,我们看下or的运算原理:or是从左到右计算表达式,返回第一个为真的值。由于我们并没有将比较值‘a' or 'b'用括号或者双引号集合起来,所以当我们输入q时,虽然输入q=='a'这个条件不成立,当时,此时判断条件变成了q=='a' or 'b',此时'b'不会空,当两个条件之一有一个为真,这个判断条件就是Ture,所以无论我们输入什么,都是为Ture。我们可以稍微修改代码,验证下or的运算原理:or是从左到右计算表达式,返回第一个为真的值。测试代码如下:

a=raw_input('please input somting:')
if a==('a' or 'b'):
  print 'it is a or b'
else:
  print 'it is not a or b'

我们输入a和b,结果如下:

please input somting:a
it is a or b

please input somting:b
it is not a or b

因为‘a' or ‘b'这个条件,‘a'为第一个真值,所以这个条件其实返回的是‘a',所以只有当输入为a,时,才执行了 print 'it is a or b' 。

4.and :从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值。对于and的测试,同于or,这边就不做详细介绍了。文章观点如有什么错误的地方,欢迎指正。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python遍历指定文件及文件夹的方法
May 09 Python
Python利用ansible分发处理任务
Aug 04 Python
一篇文章入门Python生态系统(Python新手入门指导)
Dec 11 Python
对Python subprocess.Popen子进程管道阻塞详解
Oct 29 Python
华为校园招聘上机笔试题 扑克牌大小(python)
Apr 22 Python
python识别图像并提取文字的实现方法
Jun 28 Python
python颜色随机生成器的实例代码
Jan 10 Python
Tensorflow训练MNIST手写数字识别模型
Feb 13 Python
Python结合Window计划任务监测邮件的示例代码
Aug 05 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
Sep 25 Python
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
May 28 Python
Python pandas之求和运算和非空值个数统计
Aug 07 Python
python覆盖写入,追加写入的实例
Jun 26 #Python
通过cmd进入python的实例操作
Jun 26 #Python
python实现比较类的两个instance(对象)是否相等的方法分析
Jun 26 #Python
Python实现的ftp服务器功能详解【附源码下载】
Jun 26 #Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 #Python
python读csv文件时指定行为表头或无表头的方法
Jun 26 #Python
对Python3之方法的覆盖与super函数详解
Jun 26 #Python
You might like
浅谈php serialize()与unserialize()的用法
2013/06/05 PHP
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
WebQQ最新登陆协议的用法
2014/12/22 PHP
Yii视图CGridView列表用法实例分析
2016/07/12 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
JavaScript经典效果集锦
2010/07/06 Javascript
JavaScript 获取当前时间戳的代码
2010/08/05 Javascript
javascript结合ajax读取txt文件内容
2014/12/05 Javascript
js实现ifram取父窗口URL地址的方法
2015/02/09 Javascript
jQuery简单实现上下,左右滑动的方法
2016/06/01 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
vue2中的keep-alive使用总结及注意事项
2017/12/21 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
微信小程序实现锚点功能
2019/11/20 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
2020/11/04 Javascript
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
python网络编程之文件下载实例分析
2015/05/20 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
python实现windows下文件备份脚本
2018/05/27 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
python简易实现任意位数的水仙花实例
2018/11/13 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
金讯Java笔试题目
2013/06/18 面试题
船舶专业个人求职信范文
2014/01/02 职场文书
英语演讲稿范文
2014/01/03 职场文书
军神教学反思
2014/02/04 职场文书
小学教学随笔感言
2014/02/26 职场文书
热门专业求职信
2014/05/24 职场文书
事业单位年度考核个人总结
2015/02/12 职场文书
Python实战之OpenCV实现猫脸检测
2021/06/26 Python
Java基础之线程锁相关知识总结
2021/06/30 Java/Android