① python中参数为None是什么意思
python函数参数为None的时候,比如
def
req(self,
b=None),是因为这个函数是一个封装函数,在没有调用他的时候他的参数需要加上None。如果不加None值,不调用函数他会报错。
一般会用在封装类或者框架里。比如说框架一般会有一个总的调用函数,总的调用函数启动,这次没有获取到值,执行到req函数时无法给req函数参数,那如果没有参数req函数就会报错。一般会报:‘req()
missing
1
required
positional
argument:
'b'’但是如果参数为None就不会报错。如果程序执行到req参数传递成功的话,参数就不会是None了。
所以None是一个防止报错的机制。
② python3中,定义一个函数,遍历字符串,使用print后调用函数会有None,换成return结果又不对
第一个图中,在执行 print(bianli__str('sjsjsj'))这句时,首先执行print括号中的内容,即进入bianli__str函数,执行了函数中的print语句,打印的内容是字符串的每一个字符,然后退出函数,执行print这个操作,print的内容是你定义的函数,这个函数本身是没有值的,所以是None
解决的方法就是调用函数的时候不用再print了,如下图:
第二个图中结果不对是因为return就会退出函数,所以打完第一个字符后就退出了