What Does This Syntax Mean In Python?
What does the comma in the declaration below mean? Does it define two variables at once? resp, content = client.request(request_token_url, 'GET')
Solution 1:
It creates a tuple. In this case, the tuple is of two variables, which get assigned the result from request()
.
request()
returns a tuple, which is then automatically unpacked into the left-hand tuple during assignment.
If you had just
result = client.request(request_token_url, "GET")
that would assign the tuple directly to result. Then you would be able to access the response at result[0]
, the first value in the tuple, and the content would be in result[1]
.
Solution 2:
That's called tuple unpacking
. In python, you can unpack tuples like this:
a, b = (1, 2)
See that on the right we have a tuple, packing values, and they are automatically "distributed" to the objects on the left.
If a function returns a tuple, in can be unpacked as well:
>>>deft():...return (1, 2)...>>>a, b = t()>>>a
1
>>>b
2
That's what's happening in your code.
Post a Comment for "What Does This Syntax Mean In Python?"