ce înseamnă can’t can’t assign to literal în python? [duplicat] (Programare, Python, Python 3.X)

Fata imposibilă a intrebat.
a intrebat.

Am scris programe în python, dar apoi vine cu can’t assign to literal, Ce înseamnă? și Ce o cauzează? Am căutat să încerc să găsesc acest lucru, dar nu-l găsesc.

Comentarii

  • Cred că înseamnă că nu se poate atribui la un literal. Ceva de genul „nume” = „Bob” este rău (deoarece „nume” este un șir literal), dar nume = „Bob” este în regulă (deoarece nume este o variabilă validă) –  > Por John Coleman.
1 răspunsuri
unutbu

Obiectul din partea stângă a unei instrucțiuni de atribuire nu poate fi un literal. Un literal este un șir de caractere, un număr, o tupla, o listă, un dict, un boolean sau un None. De exemplu, toate acestea generează SyntaxError: can't assign to literal:

>>> 'foo' = 1
>>> 5 = 1
>>> [1, 2] = 3

Această eroare de sintaxă poate apărea și printr-o atribuire indirectă:

>>> for 'foo' in [1,2,3]:
....    pass
SyntaxError: can't assign to literal

În bucla for, Python încearcă să atribuie valorile 1, 2, 3 la șirul literal 'foo', ceea ce generează SyntaxError.

Soluția, desigur, este de a furniza un nume de variabilă, cum ar fi fooși nu șirul de caractere, 'foo':

for foo in [1,2,3]:
    pass