Python中参数为None是什么意思

2025-04-13 07:29:33
推荐回答(4个)
回答1:

python函数参数为None的时候,比如 def req(self, b=None),是因为这个函数是一个封装函数,在没有调用他的时候他的参数需要加上None。如果不加None值,不调用函数他会报错。 一般会用在封装类或者框架里。比如说框架一般会有一个总的调用函数,总的调用函数启动,这次没有获取到值,执行到req函数时无法给req函数参数,那如果没有参数req函数就会报错。一般会报:‘req() missing 1 required positional argument: 'b'’但是如果参数为None就不会报错。如果程序执行到req参数传递成功的话,参数就不会是None了。 所以None是一个防止报错的机制。

回答2:

这么多人说了半天也没说重点上,其实就是你调用参数的时候没有None,你调用函数必须给他传参,circle(这必须写参数传进去才能成功调用这个参数),如果定义函数的时候,你写了extent=None,说明调用这个函数的时候不穿参数也可以调用这个函数,里边的代码也可以被执行,但是里边的代码逻辑你要规避这个参数为空会出现的报错问题。

回答3:

extent是一个默认参数,如果不给出该参数值那么该参数就使用默认值None。circle(r)等价于circle(r, None)或circle(r, extent=None)。如果要指定参数extent那么调用应该写成circle(r, xxx)或circle(r, extent=xxx)。

回答4:

可以回想一下偏函数,也就是说 extent 偏向的某个参数,如果没有传参数,他就默认为None,如果传了参数,则取所传的参数