Python中的None是一个经常被用到的知识点,但是很多人对于None的内涵把握的还是不够精确,今天就和我一起好好理解下这个小知识点吧。

1.None表示空,但它不等于空字符串、空列表,也不等同于False,通过下面的代码进行验证。a = ''

b = False

c = []

print(a==None) #比较值

print(b==None)

print(c==None)

print(a is None)

False

False

False

False

2.在写代码的过程中,会对某些代码进行判空操作。比如有一个变量a,那么if not a和if a is None两者有区别吗?如果说没有区别,那么不管a为何值时,这两个判断语句会返回相同的结果,但事实是这样吗?一起看下面这段代码,体会一下对None的判空操作def fun():

return None

a =fun()

if not a: #逻辑运算

print('S')

else:

print('F')

if a is None:

print('S')

else:

print('F')

S

S

运行代码发现,结果是一样的,这是由于我们调用函数时,会返回None,那么此时两个判断语句返回的结果是一样的,但是如果我们将a的值换成一个空列表,会出现什么结果呢?def fun():

return None

a = []

if not a: #逻辑运算

print('S')

else:

print('F')

if a is None:

print('S')

else:

print('F')

S

F

运行结果,发现会打印不一样的值。那么这是为什么呢?对于not a它的意思相当于True,所以会打印出S,而a is None是比较运算,它们不属于同一种类型,因此会出现不一样的打印值。更多学习内容,请点击Python学习网。

python中none什么意思_如何理解Python中的None相关推荐

  1. python如何初始化对象数组_如何理解Python中的面向对象编程?

    (由Python大本营付费下载自视觉中国) 作者 | Radek Fabisiak 译者 | 弯月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 现如今面向对象编程的使用非常广泛,本文 ...

  2. python是什么意思讯_初步理解Python进程的信号通讯

    信号的概念 信号(signal)-- 进程之间通讯的方式,是一种软件中断.一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号. 几个常用信号: SIGINT 终止进程 中断进程 (contro ...

  3. java中io是什么_深入理解Java中的IO

    深入理解Java中的IO 转载自:http://blog.csdn.net/qq_25184739/article/details/51205186 本文的目录视图如下: Java IO概要 a.Ja ...

  4. python迭代是什么意思_如何理解python中的迭代

    迭代:是通过重复执行的代码处理相似的数据集的过程,并且本次迭代的处理数据要依赖上一次的结果继续往下做,上一次产生的结果为下一次产生结果的初始状态,如果中途有任何停顿,都不能算是迭代.例如: (1)非迭 ...

  5. python中e什么意思_如何理解Python中 =是什么意思?怎么用?

    这个运算符还是学习python最基础内容时候最先了解的,今天小编在运行代码时候,在这个位置踩了坑,大家一起来看看吧~ 前言: 今天在运行之前写的一个Python脚本时,发生了一个奇怪的现象(我怎么老遇 ...

  6. python list 切片 复杂度_彻底理解Python list切片原理

    关于list的insert函数 list#insert(ind,value)在ind元素前面插入value 首先对ind进行预处理:如果ind<0,则ind+=len(a),这样一来ind就变成 ...

  7. python异步回调实现原理_快速理解Python异步编程的基本原理

    第一个例子 假设你需要用电饭煲煮饭,用洗衣机洗衣服,给朋友打电话让他过来吃饭.其中,电饭煲需要30分钟才能把饭煮好,洗衣机需要40分钟才能把衣服洗好,朋友需要50分钟才能到你家.那么,是不是你需要在这 ...

  8. python传递utf8 到c++_深入理解Python的TLS机制和Threading.local()

    ? "Python猫" ,一个值得加星标的公众号 花下猫语:分享一篇深度好文,文章有点长,值得收藏细读.作者: Lateautunm4lin 来源:https://zhuanlan ...

  9. java中view是什么_深入理解Android中View

    文章目录 [隐藏] 这回我们是深入到View内部,去研究View,去了解View的工作,抛弃其他因素,以便为以后能灵活的使用自定义空间打下一定的基础.希望有志同道合的朋友一起来探讨,深入Android ...

  10. mysql中having的意思_正确理解MySQL中的where和having的区别

    展开全部 1.where和having都可以使用的32313133353236313431303231363533e4b893e5b19e31333363383964场景select goods_pr ...

最新文章

  1. 【struts2】action中使用通配符
  2. 科大星云诗社动态20210910
  3. 【OS学习笔记】二十七 保护模式八:任务切换的方法之----jmp与call的区别以及任务的中断嵌套
  4. Commerce Server 2002 Starter Site and 2006 overview
  5. Maven实战---两个war包的调用
  6. 【内容管理系统】之 Strapi
  7. eclipse Jsp 自创建tags问题
  8. Android系统(109)---ADB命令
  9. Linux 一个进程如何从用户态切换到内核态运行
  10. sgu 196 Matrix Multiplication
  11. html5中web存储(localStorage、sessionStorage)与cookie的区别?????
  12. 微信扫一扫扫描二维码带参
  13. 近年来小学计算机课程目录,小学3-6年级信息技术课程目录(苗逢春版)
  14. 计算机局域网组网技术的核心技术,自考“局域网技术与组网工程”模拟题(6)
  15. c语言程序设计21点扑克牌,c语言程序设计 21点扑克牌游戏
  16. 第一水上软件 Hypack v10.05b 海洋调查和水道测量 HYPACK 2011
  17. 我是斗图王之python爬取表情包
  18. 中国大学MOOC课程《程序设计入门——C语言》 第8周编程练习
  19. Python-冒泡排序函数
  20. Android HDMI audio设备插拔事件

热门文章

  1. gitee 拥有3.7k星星的极速后台框架—FastAdmin了解一下
  2. 微信小程序微商城(十):用户收货地址管理
  3. 因证书问题,Xcode 真机调试时经常遇到的问题
  4. 一个 JS 库就能解决小程序跨页传递事件消息和数据
  5. python语言标识符命名规则_Python标识符
  6. eff java_eff java 39条
  7. ELK logstash grok匹配失败存另外的es表
  8. java程序拦截dde漏洞问题_Office DDE漏洞学习笔记
  9. Xcode给应用开启沙箱sandbox
  10. 支持x86/aarch/mips/loongarch的jogamp-2.3.2源码开源