def fun(a, b, c, d):
print('a:', a, 'b:', b, 'c:', c, 'd:', d)
por que esse funciona
fun(3, 7, d=10, *(23,))
e imprime:
a: 3 b: 7 c: 23 d: 10
enquanto isso
fun(3, 7, c=10, *(23,))
não
Traceback (most recent call last):
File "/home/lookash/PycharmProjects/PythonLearning/learning.py", line 10, in <module>
fun(3, 7, c=10, *(23,))
TypeError: fun() got multiple values for argument 'c'
@ Error-SyntacticalRemorse. Eu acho que você está perdendo o ponto. O OP encontrou um caso em que você pode realmente colocar uma posição após uma palavra-chave e funciona.
—
Mad Físico
@ MadPhysicist eu vejo isso. Mas eu estava apenas afirmando que a descompactação da tupla não deveria ocorrer após os argumentos das palavras-chave. Assim, eu fiz isso como um comentário, não como uma resposta.
—
Erro - Remorso sintático
Pergunta incrível. Nunca soube que isso era uma coisa.
—
Erro - Remorso sintático
SyntaxError: positional argument follows keyword argument
.