忽略python中的kwargs



我正在编写一个函数,它应该使用正确的参数调用另一个函数:

def my_function(json=None):
url = f"some url..."
if json is not None:
requests.post(url, json=json)
else:
requests.post(url)

等于:

def my_function(json=None):
url = f"some url..."
requests.post(url, json=json)

是,在这种情况下它是等价的,因为post的签名是

def post(url, data=None, json=None, **kwargs)

注意,一般来说,如果默认参数是其他东西,例如

,则传递None不一定等效。
def post(url, json={})

在这种情况下,{}None不同,并且可能遵循不同的代码路径。

最新更新