2016-06-01 26 views
5

Ho usato Python occasionalmente per diversi mesi, so che possiamo usare # e" "" o "" per commentare. Ma quando volevo commentare alcuni elementi di un dizionario, con le parole di commento ('' '), ho fallito.Commenti Python Impossibile utilizzare "" "o" '"nel dizionario

testItems = { 
'TestOne': 
{ 
    "NameId":101 
    "Score":99 
}, 

''' 
'TestTwo': 
{ 
    "NameId":101 
    "Score":99 
} 
''' 
} 

allora ottengo l'errore ther di SyntaxError: invalid syntax che punta all'ultima ''' posizione.

So anche che ci sono alcune regole di indentazione del linguaggio Python. Ma ho provato così tante possibilità di rientro, ancora fallito.

enter image description here

+0

umm, penso che tu abbia un penzoloni, dopo il primo accesso al – mortonjt

+10

stringhe righe non sono disponibili commenti. –

+0

rimuove questo commento multilinea dall'interno del dizionario. –

risposta

3

È possibile utilizzare solo ''' o """ per commentare in cui le stringhe sono consentite in quanto questi non creare commenti, ma solo stringhe.

Nella situazione descritta, non è consentito inserire una stringa. Spostare verso l'alto il codice } chiudendo o decommentando la parte di codice indesiderata riga per riga.

Facendo

test_items_1 = { 
    "NameId":101, 
    "Score":99 
} 

test_items_2 = { 
    "NameId":101, 
    "Score":99 
} 

testItems = { 
    'TestOne': test_items_1, 
# 'TestTwo': test_items_2, 
} 

avrebbe funzionato pure.

+0

Dovrebbe esserci una virgola tra le coppie di valori-chiave "NameId" e "Score" nei primi due dizionari. –

+0

@ KevinJ.Chase Grazie! Appena risolto – glglgl

+2

Vieni a pensarci, "non ti è permesso mettere una stringa" non è giusto ... Le stringhe sono chiavi di dizionario valide. Il problema è che non è seguito da due punti e un valore. Vedi [risposta di Prabhakar] (https://stackoverflow.com/questions/37560576/4116239). –

1

Come menzionato da Ilja Everilä, non vi è alcun commento su più righe in python. Anche se ho copiato il tuo codice nel mio templet pycharm, non mi ha dato alcun errore. Tuttavia, nel tuo caso, ti consiglio di utilizzare il metodo di commento a riga singola (#). Ancora, '' '...' '' o "" "..." "" (converti quella parte in stringa) potrebbe essere usato ma aumenterà la tua linea di codice. Venendo alla tua domanda, si stanno ottenendo un errore perché:

Il codice potrebbe essere riscritto come:

TestItems = { 'Testone': { "NameID": 101, "Score": 99 }'' ' 'TestTwo': { "NameID": 101 "Score": 99} '''}

Ecco come pitone lo legge, come si desidera mantenere la parte in grassetto e commenta la parte in corsivo. Non puoi semplicemente usare la stringa. Come puoi vedere, Python sta prendendo l'intera parte in parentesi graffe (Grassetto + Corsivo) come entità singola. Quindi usa #, o elimina quella parte da lì.

Si potrebbe riscrivere come:

testItems = { 
    'TestOne': 
     { 
      "NameId":101, 
      "Score":99 
     } 
    # 'TestTwo': 
    #  { 
    #   "NameId":101, 
    #   "Score":99 
    #  } 
} 
1

valori intermedi ''' o """ nel dizionario sarà considerato come un altro elemento, non commento.

Nel tuo caso il contenuto tra ''' viene considerato come chiave di un altro elemento in quel dizionario.

È necessario utilizzare # per commentare i codici indesiderati.

Es:

testItems = { 
'TestOne': 
{ 
    "NameId":101, 
    "Score":99 
}, 

# 'TestTwo': 
# { 
# "NameId":101 
# "Score":99 
# } 

} 
+1

Questa è la prima risposta per dichiarare esplicitamente il problema: l'errore di sintassi non ha nulla a che fare con ciò che è _inside_ la stringa, o anche il fatto che si tratta di una stringa --- il problema è che la chiave del dizionario multilinea ** ** ''' '' TestTwo ': {...}' ''' 'non è seguito da due punti e un valore. Ecco perché il suo IDE ha disegnato il sottotono rosso dove appariva il ':'. –

Problemi correlati