概述

在Python中,不仅仅和类C一样的真假类似,比如1代表真,0代表假。Python中的真假有着更加广阔的含义范围,Python会把所有的空数据结构视为假,比如[](空列表)、{}(空集合)、''(空字符串)等,而与之相反的非空数据结构即为真

简单对比代码:

# 遍历列表中的示例元素,获取对应的真假:
for elenment in ['', 'S', [], [1, 2], {}, {3, 'SSS'}, 0, 0.0, 1, None]:
if elenment:
print(elenment, True)
else:
print(elenment, False)

示例结果:

 False
S True
[] False
[1, 2] True
{} False
{'SSS', 3} True
0 False
0.0 False
1 True
None False

None对象

在Python中None不仅仅代表False,它本身就是一个特殊的空对象,可以用来占位,比如我们可以利用None实现类似C中定义数组的方式,预定义列表的大小,实现对可能的索引进行赋值,而为赋值的索引都为None叉车配件

L = [None] * 10
print(L)

空列表定义结果

[None, None, None, None, None, None, None, None, None, None]

布尔(bool)值

在Python中布尔值,True和False不仅仅可以表示真与假,甚至可以用于数学运算:

print(True+1)
print(False+1)
print(True+False)

运算结果

2
1
1

即True为1,False为0,为何Python中布尔值可以进行数学运算? 我们可以利用isinstance验证其是否为整型:

print(isinstance(True, int))
print(isinstance(False, int))

验证结果:

True
True

即实质上在Python中布尔值本身是整型(int),即bool类型就是int类型的子类。

Python3中真真假假True、False、None等含义详解的更多相关文章

  1. Python3 中 configparser 模块解析配置的用法详解

    configparser 简介 configparser 是 Pyhton 标准库中用来解析配置文件的模块,并且内置方法和字典非常接近.Python2.x 中名为 ConfigParser,3.x 已 ...

  2. Python3中strip()、lstrip()、rstrip()用法详解

    Python中有三个去除头尾字符.空白符的函数,它们依次为: strip: 用来去除头尾字符.空白符(包括\n.\r.\t.' ',即:换行.回车.制表符.空格) lstrip:用来去除开头字符.空白 ...

  3. Oracle Statspack报告中各项指标含义详解~~学习性能必看!!!

    Oracle Statspack报告中各项指标含义详解~~学习性能必看!!! Data Buffer Hit Ratio#<#90# 数据块在数据缓冲区中的命中率,通常应该在90%以上,否则考虑 ...

  4. Python中的__name__和__main__含义详解

    1背景 在写Python代码和看Python代码时,我们常常可以看到这样的代码: ? 1 2 3 4 5 def main():     ......   if __name == "__m ...

  5. 单元测试系列之四:Sonar平台中项目主要指标以及代码坏味道详解

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6766994.html 众所周知Sona ...

  6. Python中生成器和yield语句的用法详解

    Python中生成器和yield语句的用法详解 在开始课程之前,我要求学生们填写一份调查表,这个调查表反映了它们对Python中一些概念的理解情况.一些话题("if/else控制流" ...

  7. vue2.x版本中computed和watch的使用入门详解-watch篇

    前言 watch顾名思义,属于vue2.x版本中,监听和观察组件状态变化的钩子函数,常见的应用场景有监听路由变化,以及父组件传递给子组件的props数据的变化等 基本使用 在使用watch的时候,需要 ...

  8. Spring boot注解(annotation)含义详解

    Spring boot注解(annotation)含义详解 @Service用于标注业务层组件@Controller用于标注控制层组件(如struts中的action)@Repository用于标注数 ...

  9. Linux命令 ls -l 输出内容含义详解

    Linux命令 ls -l s输出内容含义详解   1. ls  只显示文件名或者文件目录 2. ls -l(这个参数是字母L的小写,不是数字1) 用来查看详细的文件资料 在某个目录下键入ls -l可 ...

随机推荐

  1. 用avalon框架怎么做轮播图?

    avalon这个框架其实特别的小众,做个轮播图呢?在github上的例子只有一个,而且功能特别的少,有的引入的插件与avalon里面的指令又不兼容,所以找了一个owl-carousel,目前实现了移动 ...

  2. Spring boot druid 的配置使用

    依赖加入 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artif ...

  3. 【软工实践】Alpha冲刺(1/6)

    链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 了解了反馈机制的实现原理 确定好算法的框架 对接口的规范化进行学习 展示Git ...

  4. GDI+ Image 读取内存二进制流显示图片

    int iBmpSize = cd.nTotleLen; HGLOBAL hMemBmp = GlobalAlloc(GMEM_FIXED, iBmpSize); IStream* pStmBmp = ...

  5. MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整Demo下载)

    https://blog.csdn.net/panwen1111/article/details/79245161 目录MQTT(一)C#使用 MQTTnet 快速实现 MQTT 通信(文末有完整De ...

  6. Windows 开始 运行中所打开的默认程序以及优先级

    Windows 开始 运行中所打开的默认程序以及优先级 Default app/softwares and priority for Windows/start/run 商务合作,科技咨询,版权转让: ...

  7. 027 H5常用标签

    只记录一下比较有趣的知识点. 一:新标签 1.选项列表datalist <!DOCTYPE html> <html lang="en"> <head& ...

  8. OptaPlanner 试验

    OptaPlanner - Constraint satisfaction solver (Java™, Open Source)https://www.optaplanner.org/ jboss/ ...

  9. FrameLayout--霓虹灯

    主函数里面,新建一个线程,控制改变背景色 package com.example.framelayout import android.support.v7.app.AppCompatActivity ...

  10. WPF 问题 PresentationCore.dll!System.Windows.Media.Composition.DUCE.Channel.SyncFlush() 分析

    错误信息: 没有足够的内存继续执行程序 在 System.Windows.Media.Composition.DUCE.Channel.SyncFlush() 在 System.Windows.Int ...