代码中经常有三中方式判断变量是否为None,主要有三种写法:

(1) if x is None:

(2)if not x:

(3)if not x is None:

在python中None,False,空字符串,空列表,空字典,空元组都相当于False,

eg:not None

not False

not''

not()

not{}

not[]

这些都会返回True

另外,在使用列表的时候,如果你想区分开x==[]和x==None两种情况,此时使用if not x:会出现问题

eg:x=[]

y=None

x is None //False

y is None//True

not x//True

not y//False

not x is None//这里应该理解成not( x is None)所以其会返回结果True

not y is None//not (y is None) 其会返回结果False

综上:if x is not None:这种写法最清晰,且不会出错,推荐这种写法。

python中if not x:和if x is not None:和if not x is None:使用介绍相关推荐

  1. Python中的for i in range(range()函数的for循环)如何使用,详细介绍

    range函数的for循环 1.定义 2.两种形式 3.可理解性例子 4.range函数的特性详述 4.1 左闭右开 4.2 开始值默认为0 4.3 步长值默认为1 4.4 range函数的反向输出 ...

  2. python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...

    使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二),创建一个,界面,布局,文件,路径 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二) ...

  3. python中copy模块的使用,深拷贝和浅拷贝

    python中copy模块的使用,深拷贝和浅拷贝 文章目录: 一.copy模块的介绍 1.copy模块 二.copy模块的使用 拓展说明: 1.id( )函数的使用 2.is和== 的区别 pytho ...

  4. Python 中 异步协程 的 使用方法介绍

    静觅 崔庆才的个人博客:Python中异步协程的使用方法介绍:https://cuiqingcai.com/6160.html Python 异步 IO .协程.asyncio.async/await ...

  5. Python中Button按钮组件常用的属性及参数设置

    Python中Button按钮组件常用的属性及参数设置 本篇文章中小编给大家介绍Button按钮组件的相关常用的属性以及参数的设置. 一. 常用属性使用语法 变量=Button(父容器(根窗口),参数 ...

  6. Python教学 | Python 中的分支结构(判断语句)【附本文代码和数据】

    查看原文:[数据seminar]Python教学 | Python 中的分支结构(判断语句)[附本文代码和数据] Part1引言 上期文章我们学习了组合数据类型字典以及元组,这标志着 Python 基 ...

  7. 如何优雅的在python中暂停死循环?

    死循环 有时候在工作中可能会遇到要一直执行某个功能的程序,这时候死循环就派上用途了,python中死循环的具体形式大致如下 while True:run_your_code() 结束死循环 通常我们结 ...

  8. 关于python中的dict和defaultdict

    dict 在Python中如果访问字典中不存在的键,会引发KeyError异常,所以一般当我们比如统计一句话的词频时候,我们总是使用这样的处理方式: strings = ('puppy', 'kitt ...

  9. python中的新式类与旧式类的一些基于descriptor的概念(上)

    python中基于descriptor的一些概念(上) 1. 前言 2. 新式类与经典类 2.1 内置的object对象 2.2 类的方法 2.2.1 静态方法 2.2.2 类方法 2.3 新式类(n ...

  10. Python中yield和yield from的用法

    yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...

最新文章

  1. 查找字符位置_Excel中查找字符第N次出现的位置信息,换个思路其实很简单
  2. HTTP Status 500 - javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space
  3. 广域网一般采用什么网络拓扑结构?—Vecloud
  4. gre tunnel源码分析之接收流程
  5. es elasticsearch 几种常见查询场景 二次分组 java读取es的查询json文件
  6. 平衡二叉树的实现原理
  7. 2017.3.6 种树 失败总结
  8. MVC5 Action的view()直接输出字符串方式
  9. 静态RAM(2K * 8位)6116介绍(抄自原理图)
  10. ASP.NET MVC 添加Model并连接到本地数据库
  11. 用计算机唱你笑起来真好看,你笑起来真好看简谱-李昕融/樊桐舟/李凯稠演唱-孙世彦制谱...
  12. php图片输出特殊符号,php输出特殊符号
  13. win7下32位eclipse启动错误
  14. Hi3516EV200图像调优
  15. Python 水果出库
  16. django、vue如何实现websock通信,如何实现多人群聊
  17. 【蒲公英学术】内容包含:冰湖灾害监测评价、国土空间、生态系统服务评估、VSD模型、机器学习
  18. KEIL5中Debug调试
  19. 【年结】用友各产品年结操作
  20. 关于set想说的(一)之Set的实现类及必要的方法

热门文章

  1. tar解压到指定目录
  2. sys_stat_statements 扩展使用介绍
  3. uniapp 公众号获取code
  4. java httpget 设置参数_HttpGet 请求(带参数)
  5. 机械师实时调度示例(I) - 实时规划
  6. iPhone,iPad在国外如何看国内视频网站
  7. DR带你逛“庙会”:全球顶级游戏盛会的链游专场
  8. repo的manifest.xml文件全解
  9. php 分布存储,分布式存储原理是什么?
  10. 记一个有意义的周末:卡丁车、松鼠会