以下声明中的逗号是什么意思?它是否一次定义了两个变量?
resp, content = client.request(request_token_url, "GET")
答案 0 :(得分:4)
创建tuple。在这种情况下,元组有两个变量,它们从request()
分配结果。
request()
返回一个元组,然后在分配期间自动解压缩到左侧元组中。
如果你刚刚
result = client.request(request_token_url, "GET")
将元组直接分配给结果。然后,您就可以访问result[0]
的响应,这是元组中的第一个值,内容将位于result[1]
。
答案 1 :(得分:2)
这叫做tuple unpacking
。在python中,你可以解压缩这样的元组:
a, b = (1, 2)
在右边看到我们有一个元组,打包值,它们会自动“分发”到左边的对象。
如果一个函数返回一个元组,in也可以解压缩:
>>> def t():
... return (1, 2)
...
>>> a, b = t()
>>> a
1
>>> b
2
这就是您的代码中发生的事情。
答案 2 :(得分:0)
逗号表示连接,换句话说,client.request(request_token_url, "GET")
将返回两个项目的元组列表,其中第一个将分配给resp
,第二个将分配给content
,它与
temp = client.request(request_token_url, "GET")
resp = temp[0]
content = temp[1]