Python中参数为None是什么意思

Python015

Python中参数为None是什么意思,第1张

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需要记住以下几点:

1.None是一个特殊的常量。

2.None和False不同。

3.None不是0。

4.None不是空字符串。

5.None和任何其他的数据类型比较永远返回False。

6.None有自己的数据类型NoneType。你可以将None复制给任何变量,但是你不能创建其他NoneType对象。

7.python中的None就相较于Java中的Null。python中就没有所谓的NULL。

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