python中的Null与None区别

本文介绍了Python中的None与NULL的区别,None是一个对象且有自己的类型,用于变量初始化和错误处理;NULL则表示空无值,Python中无此概念。文章还提供了判断变量是否为空的建议方法。
摘要由CSDN通过智能技术生成

一、简介

None是一个对象,而NULL是一个类型。
Python中没有NULL,只有None,None有自己的特殊类型NoneType。
None不等于0、任何空字符串、False等。
在Python中,None、False、0、“”(空字符串)、、()(空元组)、{}(空字典)都相当于False。

none可以看作是一个具体的值用来初始化变量,而null表示空不是一个值,并且没有与任何一个值绑定并且存储空间也没有存储值。

二、None的含义

如下图所示,None表示没有,它是NoneType类的对象,你可以把它看成是一个具体的值。正因它是一个具体的值,所以它可以用来初始化变量,可以作为很多函数在某些异常输入下的返回值。None它既有又没有,有体现在它是具体的值,例如它能为变量a赋值;没有体现在None它想告诉你的是当前变量a绑定的是一个没有意义,没有利用价值的值。
在这里插入图片描述

三、Null的含义

Null表示空它不是一个值,这点不同于None。在python这类脚本语言中变量和值是绑定关系,如果说一个变量是Null,实际是说它没有与任何值绑定,也就是说该变量实际上并未被定义;在java、C++、C这类编译语言中,我们说一个变量为Null,是指该变量所指向的那个内存空间上没有存储任何值,就连上一次使用过该内存空间的残留值都没有。

四、判断为空

判断变量是否为空的高效方法是:
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值