我正在编写一个函数,它应该使用正确的参数调用另一个函数:
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
不同,并且可能遵循不同的代码路径。