python中,如图,为啥上面的打印为none?下面的却能打印出来?

python中,如图,为啥上面的打印为none?下面的却能打印出来?

答: 上面和下面都定义了一个函数,函数里面又定义了一个函数,如上。如下划线所示,它只是调用了函数c,内部函数c返回b的值。

但是并没有把这个值返回出去。精选百科

所以你在打印的时候不会有这个结果,只会返回None。

希望能够帮助到你。

请教python,这个程序的输出结果为啥是10 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打印print返回值为None是怎么回事?

列表的reverse方**反转列表并返回None,图中打印的是reverse的返回值。