1
resposta

Não é possível concater tuplas com apenas um valor?

Fui concatenar os valores a seguir:

status_civil = ('casado') + ('divorciado',)

E aparece esta mensagem:

Traceback (most recent call last): File "", line 1, in TypeError: cannot concatenate 'str' and 'tuple' objects

Então fui tentar concatenar o seguinte:

status_civil = ('casado',) + ('divorciado',)

E deu certo. Também deu certo o seguinte:

status_civil = ('casado',) + ('solteiro','divorciado')

Então, me parece que faltou dizer que a vírgula é indispensável caso haja apenas um objeto entre () para ser concatenado, pois o exemplo abaixo também funcionou:

status_civil = ('casado','solteiro') + ('divorciado','enrolado')

1 resposta

Olá William, tudo bem?

Quando temos apenas um valor entre parênteses, o interpretador do Python ignora os parênteses, por isso, precisamos colocar a vírgula no final, dessa forma forçamos o interpretador a ler o código como se fosse uma tupla.

Na verdade, em alguns casos podemos até omitir o uso dos parênteses - como no caso do retorno de funções:

def retorna_tupla():
    return 'Item1', 'Item2'


resultado = retorna_tupla()

>>> type(resultado)
<class 'tuple'>