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根据文件大小打log日志
Oct 09 Python
Python中使用语句导入模块或包的机制研究
Mar 30 Python
Python代码调试的几种方法总结
Apr 15 Python
深入理解Python装饰器
Jul 27 Python
Python正则表达式实现截取成对括号的方法
Jan 06 Python
Python实现的下载网页源码功能示例
Jun 13 Python
python进阶之多线程对同一个全局变量的处理方法
Nov 09 Python
python实现多张图片拼接成大图
Jan 15 Python
python numpy 按行归一化的实例
Jan 21 Python
Django uwsgi Nginx 的生产环境部署详解
Feb 02 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
Oct 30 Python
pytorch 权重weight 与 梯度grad 可视化操作
Jun 05 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二维数组用键名分组相加实例函数
2013/11/06 PHP
php实现水仙花数的4个示例分享
2014/04/08 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
2014/06/19 PHP
javascript之水平横向滚动歌词同步的应用
2007/05/07 Javascript
jQuery 渐变下拉菜单
2009/12/15 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
详解js私有作用域中创建特权方法
2016/01/25 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
jQuery给指定的table动态添加删除行的操作方法
2016/10/12 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
微信小程序 scroll-view实现上拉加载与下拉刷新的实例
2017/01/21 Javascript
javascript验证香港身份证的格式或真实性
2017/02/07 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
Vue实现验证码功能
2019/12/03 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
js实现筛选功能
2020/11/24 Javascript
解决python 输出是省略号的问题
2018/04/19 Python
python去除扩展名的实例讲解
2018/04/23 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
python实现中文文本分句的例子
2019/07/15 Python
python 中的[:-1]和[::-1]的具体使用
2020/02/13 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
工业自动化专业毕业生推荐信
2013/11/18 职场文书
财务情况说明书范文
2014/05/06 职场文书
《1942》观后感
2015/06/08 职场文书
经典人生语录分享:不畏将来,不念过去,笑对当下
2019/12/12 职场文书
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js
Spring中的使用@Async异步调用方法
2021/11/01 Java/Android
如何利用golang运用mysql数据库
2022/03/13 Golang