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随机生成均匀分布在三角形内或者任意多边形内的点
Dec 14 Python
Python数字图像处理之霍夫线变换实现详解
Jan 12 Python
详解多线程Django程序耗尽数据库连接的问题
Oct 08 Python
python re正则匹配网页中图片url地址的方法
Dec 20 Python
pandas对dataFrame中某一个列的数据进行处理的方法
Jul 08 Python
Python-Flask:动态创建表的示例详解
Nov 22 Python
如何基于Python制作有道翻译小工具
Dec 16 Python
python支持多线程的爬虫实例
Dec 21 Python
Python 格式化打印json数据方法(展开状态)
Feb 27 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 Python
python爬虫实现获取下一页代码
Mar 13 Python
Python super()方法原理详解
Mar 31 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若干单维数组遍历方法的比较
2011/09/20 PHP
php实现面包屑导航例子分享
2015/12/19 PHP
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
JS 页面内容搜索,类似于 Ctrl+F功能的实现代码
2007/08/13 Javascript
在线编辑器中换行与内容自动提取
2009/04/24 Javascript
各情景下元素宽高的获取实现代码
2011/09/13 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
jQuery实现隔行背景色变色
2014/11/24 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
深入浅析JS的数组遍历方法(推荐)
2016/06/15 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
js 博客内容进度插件详解
2017/02/19 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
Vue的watch和computed方法的使用及区别介绍
2018/09/06 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
layer父页获取弹出层输入框里面的值方法
2019/09/02 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
JavaScript实现动态生成表格
2020/08/02 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
2020/10/22 Javascript
Python 字典(Dictionary)操作详解
2014/03/11 Python
python循环监控远程端口的方法
2015/03/14 Python
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
python爬虫实例详解
2018/06/19 Python
Python做智能家居温湿度报警系统
2018/09/25 Python
python集合是否可变总结
2019/06/20 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
2020/02/24 Python
C#怎么让一个窗口居中显示?
2015/10/20 面试题
软件设计的目标是什么
2016/12/04 面试题
工程专业求职自荐书范文
2014/02/08 职场文书
监考失职检讨书
2015/01/26 职场文书
中秋节慰问信
2015/02/15 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书
学校体育节班级口号
2015/12/25 职场文书
创业计划书之服装
2019/10/07 职场文书