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

1. 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:当所有条件为真时,该条件即为真。逻辑图如下:

测试代码如下:

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,这边就不做详细介绍了。文章观点如有什么错误的地方,欢迎指正。

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

时间: 2019-06-26

python or的用法_python and or用法详解相关推荐

  1. python命名空间和闭包_Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】...

    本文实例讲述了Python函数基础用法.分享给大家供大家参考,具体如下: 一.什么是命名关键字参数? 格式: 在*后面参数都是命名关键字参数. 特点: 1.约束函数的调用者必须按照Kye=value的 ...

  2. python lambda函数加法_python lambda的使用详解

    1. lambda语法 lambda argument_list: expression lambda是Python预留的关键字,argument_list(参数列表)和expression(关于参数 ...

  3. python中threading模块_python中threading模块详解

    python中threading模块详解,threading提供了一个比thread模块更高层的API来提供线程的并发性.这些线程并发运行并共享内存. 下面来看threading模块的具体用法: 一. ...

  4. python编程序列类型_python序列类型种类详解

    python序列类型包括哪三种 python序列类型包括:列表.元组.字典 列表:有序可变序列 创建:userlist = [1,2,3,4,5,6] 修改:userlist[5] = 999 添加: ...

  5. python做插件应用_Python插件机制实现详解

    插件机制是代码/功能反向依赖注入到主体程序的一种方法,编译型语言通过动态加载动态库实现插件.对于Python这样的脚本语言,实现插件机制更简单. 机制 Python的__import__方法可以动态地 ...

  6. python插件使用教程_Python插件机制实现详解

    插件机制是代码/功能反向依赖注入到主体程序的一种方法,编译型语言通过动态加载动态库实现插件.对于Python这样的脚本语言,实现插件机制更简单. 机制 Python的__import__方法可以动态地 ...

  7. python缩进和冒号_Python缩进和冒号详解

    对于Python而言代码缩进是一种语法,Python没有像其他语言一样采用{}或者begin...end分隔代码块,而是采用代码缩进和冒号来区分代码之间的层次. 缩进的空白数量是可变的,但是所有代码块 ...

  8. python加载机制_Python插件机制实现详解

    插件机制是代码/功能反向依赖注入到主体程序的一种方法,编译型语言通过动态加载动态库实现插件.对于Python这样的脚本语言,实现插件机制更简单. 机制 Python的__import__方法可以动态地 ...

  9. python数据挖掘商业案例_Python数据科学-技术详解与商业实践-第八讲作业

    作者:Ben,著有<Python数据科学:技术详解与商业实践>.<用商业案例学R语言数据挖掘>.<胸有成竹-数据分析的SAS EG进阶>作者.2005年进入数据科学 ...

  10. python链表值讲解_python数据结构之链表详解

    python数据结构之链表详解 数据结构是计算机科学必须掌握的一门学问,之前很多的教材都是用C语言实现链表,因为c有指针,可以很方便的控制内存,很方便就实现链表,其他的语言,则没那么方便,有很多都是用 ...

最新文章

  1. 电脑总有安装计算机更新,为什么我们的电脑总会莫名的安装垃圾软件,看完吓一跳,欢迎关注...
  2. python如何统计出现的次数_Python统计日志中每个IP出现次数的方法
  3. css sprite css雪碧图生成工具
  4. VMware ESXi导出OVF模板
  5. JavaScript基础笔记
  6. 两张趣图助你理解状态码的含义~
  7. kali里PHP文件502错误,解决Linux Kali iptables开放22端口失败等一系列问题
  8. 【蓝桥杯每日一练】 斐波那契数列
  9. security安全表达式介绍
  10. 我用Python爬虫挣钱的那点事
  11. cct2级考试c语言试题,CCT2样题
  12. Cesium:在地球上加载Geoserver图层
  13. 一款原型设计软件——墨刀的介绍
  14. java技术可行性分析_Java可行性分析
  15. PS安装失败解决方法
  16. 飘动图片广告html代码,基于JavaScript代码实现随机漂浮图片广告
  17. (深度神经网络多.py文件)python打包过程遇到的问题记录
  18. Android开发与调试二:串口uart Debug
  19. 送人玫瑰手留余香——分享快乐、快乐分享
  20. 标贝科技声音克隆技术赋能 定制语音功能让陪伴触手可及

热门文章

  1. LINQ Enumerable 续 II
  2. 在页面加载后执行任务
  3. jquery和prototype冲突解决
  4. 正则表达式非捕获分组?:
  5. java实现浏览器ui中的收藏夹_Java实现简单的图片浏览器
  6. multipartfile获取数据_详解SpringMVC使用MultipartFile实现文件的上传
  7. redis命令行技术文档。命令教程
  8. vvv在线文档导出工具_墙裂推荐 | 在线文档编辑工具
  9. 样本不平衡 pytorch_CVPR2019 | 面对高度不均衡数据如何提高精度?这篇文章有妙招...
  10. java只对_只对你情有独钟:写给Java的情诗