On 2020-07-31 14:15, Jon Ribbens via Python-list wrote:
On 2020-07-31, Stefan Ram <r...@zedat.fu-berlin.de> wrote:
  You can write

|>>> 1,+2,
|(1, 2)

  , but not

|>>> (1,)+2,
|TypeError: can only concatenate tuple (not "int") to tuple

  . Why? (Python 3.9)

For the obvious reason, as indicated by the error message?

What are you expecting these expressions to mean?

(For some reason, I haven't received Stefan's original post.)

It's all to do with operator precedence.

The '+' has a higher precedence than the ',', so:

    1,+2,

is parsed as:

    (1),(+2),

NOT as:

    (1,)+(2,)

although they happen to give the same answer.

On the other hand:

    (1,)+2,

is parsed as:

    ((1,)+2),

which results in a TypeError.
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to