Python中使用Boolean操作符做真值测试实例

 更新时间:2015年01月30日 08:51:09   投稿:junjie  
这篇文章主要介绍了Python中使用Boolean操作符做真值测试实例,在Python中,任何类型的对象都可以做真值测试,并且保证返回True或者False,需要的朋友可以参考下

在Python中,任何类型的对象都可以做真值测试,并且保证返回True或者False。

以下几种值(不论类型)在真值测试中返回False:

1.None
2.False
3.任何类型的数字0,包括0,0.0,0L,0j
4.空的序列(sequence)或者映射(mapping)类型对象
5.对于用户自定义类型的对象,如果其类定义了__nonzero__() 或者 __len__()特殊方法并且返回False或者0

对于最后一条规则,有几点需要说明:

1.如果类没有定义这两个方法中的任何一个,则这种类型的对象真值测试时总是为True
2.如果类同时定义了__nonzero__() 和 __len__(),只会参考__nonzero__()的返回值

Boolean操作符的特性(直接copy文档而来):

复制代码 代码如下:

x or y: if x is false, then y, else x
x and y: if x is false, then x, else y
not x: if x is false, then True, else False

1.注意and和or操作符的短路特性
2.not运算符要么返回True要么返回False
3.and和or运算符的返回值不限于True和False,它只是对x或者y做真值测试,然后返回其中一个的值(注意不是其真值)

代码示例:

复制代码 代码如下:

s = ''
s = s or 'default value'
print s

运行结果是:

复制代码 代码如下:

default value

相关文章

  • Python绘制移动均线方法 含源代码

    Python绘制移动均线方法 含源代码

    上一篇文章我们介绍了Python绘制专业的K线图,讲解了数据获取、K线图绘制及成交量绘制等内容。本篇将在上一篇的基础上,继续讲解移动均线的绘制,需要的朋友可以参考下
    2021-10-10
  • python datetime中strptime用法详解

    python datetime中strptime用法详解

    这篇文章主要介绍了python 中datetime中strptime用法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • python打包生成的exe文件运行时提示缺少模块的解决方法

    python打包生成的exe文件运行时提示缺少模块的解决方法

    今天小编就为大家分享一篇python打包生成的exe文件运行时提示缺少模块的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • 使用Mac时psycopg2导入PyCharm失败的解决

    使用Mac时psycopg2导入PyCharm失败的解决

    这篇文章主要介绍了使用Mac时psycopg2导入PyCharm失败的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Python定时任务框架APScheduler原理及常用代码

    Python定时任务框架APScheduler原理及常用代码

    这篇文章主要介绍了Python定时任务框架APScheduler原理及常用代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Python OpenCV 图像矫正的原理实现

    Python OpenCV 图像矫正的原理实现

    这篇文章主要介绍了Python OpenCV 图像矫正的原理实现,检测边缘点;以边缘点作为输入,采用Hough直线检测,检测出最多点共线的四条直线,更多相关内容需要的朋友可以参考一下
    2022-07-07
  • python多进程读图提取特征存npy

    python多进程读图提取特征存npy

    这篇文章主要为大家详细介绍了python多进程读图提取特征存npy,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • 解决reload(sys)后print失效的问题

    解决reload(sys)后print失效的问题

    这篇文章主要介绍了解决reload(sys)后print失效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python中翻译功能translate模块实现方法

    python中翻译功能translate模块实现方法

    在本篇文章中小编给各位整理了一篇关于python中翻译功能translate模块实现方法,有需要的朋友们可以参考下。
    2020-12-12
  • Pandas Matplotlib保存图形时坐标轴标签太长导致显示不全问题的解决

    Pandas Matplotlib保存图形时坐标轴标签太长导致显示不全问题的解决

    在使用matplotlib作图的时候,有的时候会遇到画图时显示不全和图片保存时不完整的问题,这篇文章主要给大家介绍了关于Pandas Matplotlib保存图形时坐标轴标签太长导致显示不全问题的解决方法,需要的朋友可以参考下
    2022-06-06

最新评论