2013-02-08 14 views
12

Come aggiungere commenti a incarichi più righe in pitone, come è possibile in C con la sintassi:Come aggiungere commenti in linea alle assegnazioni stringa multilinea in python

char sc[] = "\x31\xdb"     /* xor %ebx, %ebx  */ 
      "\x31\xc9"     /* xor %ecx, %ecx  */ 
      "\xb8\x46\x00\x00\x00"  /* mov $0x46, %eax  */ 
      "\xcd\x80"     /* int $0x80   */ 
      "\x31\xdb"     /* xor %ebx, %ebx  */ 
      "\xb8\x01\x00\x00\x00"  /* mov $0x1, %eax  */ 
      "\xcd\x80";     /* int $0x80   */ 

ma lo stesso in pitone, con interruzioni di riga sfuggiti

sc = "\x31\xdb" \ # xor %ebx, %ebx 
    "\x31\xc9" \ # xor %ecx, %ecx 
    "…" 
+0

Non capisco quale sia la domanda/problema. La seconda sintassi ha la sintassi del commento Python valida. È la continuazione della linea che è sbagliata. – millimoose

+0

Perché? Qual è il vero problema che stai cercando di risolvere? –

+2

È una vera domanda. Capisco cosa sta chiedendo. Sta chiedendo un modo per inserire un commento nel mezzo di una linea (continua). Come si può fare con un commento di blocco in C/C++. ** Non esiste tale funzionalità in python **, quindi l'unica soluzione (ed è una buona soluzione) è quella di raggruppare il codice con parentesi, come nella risposta accettata. NOTA: le virgolette triple possono essere ordinate come commenti di blocco in python, ma solo su una riga separata: if do "" "" è questo un commento? "" "" Alla fine della riga (prima di backslash), sarà trattato come una stringa nel codice. In questo codice, verrebbe aggiunto alla stringa desiderata. – ToolmakerSteve

risposta

13

È possibile scrivere

sc = ("\x31\xdb"  # xor %ebx, %ebx 
     "\x31\xc9"  # xor %ecx, %ecx 
     "…") 

se si desidera.

+2

+1, usare le parentesi per ottenere la continuazione della linea implicita è l'opzione migliore qui. –

+5

@Lattyware O ovunque davvero. Le continuazioni della linea di backslash sono Weird And Fiddly (tm). – millimoose

+0

(E si perde l'evidenziazione dell'editor che ti dice dove finisce veramente la linea.) – millimoose

Problemi correlati