python中的None与NULL用法说明
None是一个对象,而NULL是一个类型。
Python中没有NULL,只有None,None有自己的特殊类型NoneType。
None不等于0、任何空字符串、False等。
在Python中,None、False、0、""(空字符串)、[](空列表)、()(空元组)、{}(空字典)都相当于False。
判断变量是否为空的高效方法是:
if X is None
if not X:当X为None、False、""、0、[]、()、{}时,not X为真,无法分辨
if not X is None:等价于if not (X is None)、if X is not None
判断空使用指南
if X is not None写法清晰明了,且不会出错,推荐使用;
if not x使用前,必须确定X为None、False、""、0、[]、()、{}时对判断无影响。
示例
x = [] y = None print 'X is None测试结果' print x is None #False print y is None #True print 'not X测试结果' print not x #True print not y #True print 'not X is None测试结果' print not x is None #True print not y is None #False print 'X is not None测试结果' print x is not None #True print y is not None #False
补充:python中None与0、Null、false区别
None是Python中的一个关键字,None本身也是个一个数据类型,而这个数据类型就是None,它可0、空字符串以及false均不一样,这些都只是对象,而None也是一个类。
给个bool测试:
val = None if val: print "None is true" else: print "None is not true" #输出 None is not true
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Python中的None与 NULL(即空字符)的区别详解
1.首先要了解Python的对象的概念: Python中,万物皆对象,所有的操作都是针对对象的,那什么是对象,5是一个int对象,'oblong'是一个str对象,异常也是一个对象,抽象一点是,人,猫,够也是一个对象 那对于一个对象,它就有包括两方面的特征: 属性:去描述它的特征 方法: 它所具有的行为 所以,对象=属性+方法 (其实方法也是一种属性,一种区别于数据属性的可调用属性 把具有相同属性和方法的对象就可以归为一类,即Classl.类就好比是一张蓝图,使用一个类可以创建多个对象实例
-
在python中对变量判断是否为None的三种方法总结
三种主要的写法有: 第一种:if X is None; 第二种:if not X: 当X为None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这些时,not X为真,即无法分辨出他们之间的不同. 第三种:if not X is None; 在Python中,None.空列表[].空字典{}.空元组().0等一系列代表空和无的对象会被转换成False.除此之外的其它对象都会被转化成True. 在命令if not 1中,1便会转换为bool类型的True
-
Python判断字符串是否为空和null方法实例
判断python中的一个字符串是否为空,可以使用如下方法 1.使用字符串长度判断 len(s) ==0 则字符串为空 #!/user/local/python/bin/python # coding=utf-8 test1 = '' if len(test1) == 0: print '字符串TEST1为空串' else: print '字符串TEST1不是空串,TEST1:' + test1 2.isspace判断是否字符串全部是空格 Python isspace() 方法检测字符串是否只由空
-
python中的None与NULL用法说明
None是一个对象,而NULL是一个类型. Python中没有NULL,只有None,None有自己的特殊类型NoneType. None不等于0.任何空字符串.False等. 在Python中,None.False.0.""(空字符串).[](空列表).()(空元组).{}(空字典)都相当于False. 判断变量是否为空的高效方法是: if X is None if not X:当X为None.False."".0.[].().{}时,not X为真,无法分辨 i
-
Python中的is和id用法分析
本文实例讲述了Python中的is和id用法.分享给大家供大家参考.具体分析如下: (ob1 is ob2) 等价于 (id(ob1) == id(ob2)) 首先id函数可以获得对象的内存地址,如果两个对象的内存地址是一样的,那么这两个对象肯定是一个对象.和is是等价的.Python源代码为证. 复制代码 代码如下: static PyObject * cmp_outcome(int op, register PyObject *v, register PyObject *w) { int
-
python中enumerate函数遍历元素用法分析
本文实例讲述了python中enumerate函数遍历元素用法.分享给大家供大家参考,具体如下: enumerate函数用于遍历序列中的元素以及它们的下标 示例代码如下: i = 0 seq = ['one', 'two', 'three'] for element in seq: print i, seq[i] i += 1 #0 one #1 two #2 three print '============' seq = ['one', 'two', 'three'] for i, elem
-
python中迭代器(iterator)用法实例分析
本文实例讲述了python中迭代器(iterator)用法.分享给大家供大家参考.具体如下: #--------------------------------------- # Name: iterators.py # Author: Kevin Harris # Last Modified: 03/11/04 # Description: This Python script demonstrates how to use iterators. #----------------------
-
Python中threading模块join函数用法实例分析
本文实例讲述了Python中threading模块join函数用法.分享给大家供大家参考.具体分析如下: join的作用是众所周知的,阻塞进程直到线程执行完毕.通用的做法是我们启动一批线程,最后join这些线程结束,例如: for i in range(10): t = ThreadTest(i) thread_arr.append(t) for i in range(10): thread_arr[i].start() for i in range(10): thread_arr[i].joi
-
Python中with及contextlib的用法详解
本文实例讲述了Python中with及contextlib的用法.分享给大家供大家参考,具体如下: 平常Coding过程中,经常使用到的with场景是(打开文件进行文件处理,然后隐式地执行了文件句柄的关闭,同样适合socket之类的,这些类都提供了对with的支持): with file('test.py','r') as f : print f.readline() with的作用,类似try...finally...,提供一种上下文机制,要应用with语句的类,其内部必须提供两个内置函数__
-
python中去空格函数的用法
本文简单介绍了Python中去空格函数的用法,这是一个很实用的函数,希望对大家的Python程序设计有所帮助.具体分析如下: 在Python中字符串处理函数里有三个去空格的函数: strip 同时去掉左右两边的空格 lstrip 去掉左边的空格 rstrip 去掉右边的空格 具体示例如下: >>>a=" gho stwwl " >>>a.lstrip() 'gho stwwl ' >>>a.rstrip() ' gho stwwl'
-
Python中index()和seek()的用法(详解)
1.index() 一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如: >>> t=tuple('Allen') >>> t ('A', 'l', 'l', 'e', 'n') >>> t.index('a') Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> t.index('a') V
-
Python中defaultdict与lambda表达式用法实例小结
本文实例讲述了Python中defaultdict与lambda表达式用法.分享给大家供大家参考,具体如下: 从教程中看到defaultdict是一个类,在一台装有Python2.7.6的电脑上使用发现不存在.在文档中搜索了一下也没有找到,想当然以为这或许是Python 3.X专有的.因为教程就是基于Python 3.X实现的.后来换了一台装有Python 3.X的电脑依然出问题. 求助于网络,发现这个类其实是collections模块中的一个类.看来,学习很难摆脱网络环境啊! 这个类是dict
-
详解Python 中sys.stdin.readline()的用法
之前在Python中输入都是用的input(),但是看到大家都用sys.stdin.readline(),没办法那我也得用. python3中使用sys.stdin.readline()可以实现标准输入,需要调用sys库,sys.stdin是一个标准化输入的方法,其中默认输入的格式是字符串,如果是int,float类型则需要强制转换.如: 例1: import sys print('Plase input your name: ') name = sys.stdin.readline() pri
随机推荐
- ASP.NET MVC5网站开发之登录、验证和注销管理员篇1(六)
- Android实现保持屏幕常亮功能
- Powershell小技巧之使用-F方法带入数据
- SQL Server约束增强的两点建议
- 多条件查询的程序
- 详解angular 中的自定义指令之详解API
- Android拼图游戏 玩转从基础到应用手势变化
- Java发送邮件javax.mail的实现方法
- self.attachevent is not a function的解决方法
- php实现博客,论坛图片防盗链的方法
- 浅谈C#指针问题
- Android HandlerThread的使用及原理详解
- 与MSSQL对比学习MYSQL的心得(五)--运算符
- Mysql中分页查询的两个解决方法比较
- 用PHP 快速生成 Flash 动画的方法
- Asp中Server.ScriptTimeOut属性需要注意的一点分析
- yii权限控制的方法(三种方法)
- ruby 异常处理:rescue
- Shell脚本避免重复执行的方法
- Lua中..和#运算符的使用方法