下面的聲明中的逗號是什麼意思?它是否一次定義兩個變量?這個語法在Python中意味着什麼?
resp, content = client.request(request_token_url, "GET")
下面的聲明中的逗號是什麼意思?它是否一次定義兩個變量?這個語法在Python中意味着什麼?
resp, content = client.request(request_token_url, "GET")
它創建了一個tuple。在這種情況下,元組有兩個變量,從request()
分配結果。
request()
返回一個元組,然後在分配過程中自動將其解包到左側的元組中。
如果剛
result = client.request(request_token_url, "GET")
,將直接分配的元組造成的。然後,您將能夠訪問元組中第一個值result[0]
的響應,內容將在result[1]
中。
逗號表示並置,換言之client.request(request_token_url, "GET")
將返回的兩個項目,其中所述第一個將被分配給resp
和第二至content
元組的列表,它是相同的
temp = client.request(request_token_url, "GET")
resp = temp[0]
content = temp[1]
這就是所謂的tuple unpacking
。在Python中,你可以解開元組是這樣的:
a, b = (1, 2)
請參閱上我們有一個元組,包裝價值的權利,它們會自動「分配」到左邊的對象。
如果一個函數返回一個元組中,可以解壓,以及:
>>> def t():
... return (1, 2)
...
>>> a, b = t()
>>> a
1
>>> b
2
這就是正在發生的事情在你的代碼。
有關元組解包/賦值的更多信息[here](http://greenteapress.com/thinkpython/html/book013.html#toc132)。 – 2011-04-11 03:06:27