Why does adding a trailing comma after an expression create a tuple?

Viewed 32875

Why does adding a trailing comma after an expression create a tuple with the expression's value? E.g. in this code:

>>> abc = 'mystring',
>>> print(abc)
('mystring',)

Why is the printed output ('mystring',), and not just mystring?

6 Answers

I was somewhat confused about the application of the comma, as you also apply a comma to make a list instead of tuple, but with a different variable assignment.

Hereby, a simple example that I made of how to create a tuple or a list.

abc = 1,2,3 # prints a tuple: (1, 2, 3)
*abc, = 1,2,3 # prints a list: [1, 2, 3]
Related