对不起,这可能是一个愚蠢的问题,但我不太熟悉python。
如果我使用this:
将参数传递给客户端方法调用,则在suds客户端上kwargs = {'username': username, 'password': password, 'type': '', }
response = client.service.Login(**kwargs)
这很好用。但如果我使用:
response = client.service.Login({'username': username, 'password': password, 'type': '', })
这不起作用,有人可以解释这些差异以及它为什么不起作用。
由于
答案 0 :(得分:2)
如果你仔细观察,你可以看到,在第一种情况下,当你将字典传递给带有**
运算符的函数参数(你将键,值对作为命名参数传递)时,你正在解压缩字典。第二种情况是你传递函数一个参数;字典
{'username': username, 'password': password, 'type': '', }
如果你这样做:
response = client.service.Login(**{'username': username, 'password': password, 'type': '', })
它应该有用