python none有什么用

Python012

python none有什么用,第1张

python中None代表一个特殊的空值,即为一个空对象,没有任何的值。

一般用于assert,判断,函数无返回时的默认,具体如下:

assert断言:

mylist = ['a', 'b', 'c']

>>>assert len(mylist) is not None # 用assert判断列表不为空,正确无返回

>>>assert len(mylist) is None # 用assert判断列表为空

if...else...

a = None

if a:

    print "a is not None"

else:

    print "a is None"

3.如果函数无return,则默认返回None

def add1(a,b):

    return a+b

a1=add1(1,2)

print a1

#会输出3,因为有return,则有返回值

def add2(a,b):

    print a+b

a2 = add2(1,2)

print a2

#会输出None,因为没有return,则add2为None

python函数参数为None的时候,比如

def

req(self,

b=None),是因为这个函数是一个封装函数,在没有调用他的时候他的参数需要加上None。如果不加None值,不调用函数他会报错

一般会用在封装类或者框架里。比如说框架一般会有一个总的调用函数,总的调用函数启动,这次没有获取到值,执行到req函数时无法给req函数参数,那如果没有参数req函数就会报错。一般会报:‘req()

missing

1

required

positional

argument:

'b'’但是如果参数为None就不会报错。如果程序执行到req参数传递成功的话,参数就不会是None了。

所以None是一个防止报错的机制。

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。not是逻辑运算符非,not 1则恒为False。因此if语句if not 1之下的语句,永远不会执行。

`if X is not None`是最好的写法,清晰,不会出现错误,以后坚持使用这种写法。

使用if not X这种写法的前提是:必须清楚x等于None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()时对你的判断没有影响才行。

推荐学习《Python教程》。