2

What does the comma in the declaration below mean? Does it define two variables at once?

resp, content = client.request(request_token_url, "GET")

2 Answers 2

4

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].

Sign up to request clarification or add additional context in comments.

1 Comment

Some more info on tuple unpacking / assignment here.
3

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:

>>> def t():
...     return (1, 2)
... 
>>> a, b = t()
>>> a
1
>>> b
2

That's what's happening in your code.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.