Esiste una convenzione per scrivere Python quando viene privato di newline e spazi bianchi? Ad esempio, commenti di stackexchange, Twitter, messaggi di testo ...
Esiste una convenzione per scrivere Python quando viene privato di newline e spazi bianchi? Ad esempio, commenti di stackexchange, Twitter, messaggi di testo ...
Python consente di utilizzare il punto e virgola per separare le istruzioni. Per quanto riguarda la struttura di controllo, è un po 'più difficile. Alcuni progetti utilizzano la parola chiave pass
(un no-op) per indicare la fine di un blocco:
if foo==1:foo=2;pass; if foo==3:foo=4;pass;
Tuttavia non è particolarmente leggibile e l'interprete ti prenderà in giro solo se lo provi per davvero, quindi non è una soluzione generale.
È possibile in Python; soprattutto, hai ancora bisogno di caratteri spaziali. È pratico? neanche lontanamente.
Esiste una pratica simile a una cattiva forma di programmazione funzionale che dopo averlo provato per un po 'dirai "Che spreco di tempo". Tuttavia, con questo stile, è necessario utilizzare il rientro per farlo funzionare, a meno che non si definiscano le funzioni in una stringa eval (o un'altra funzione) come questa eval ('def myfunc (obj): \ n \ t # fare roba \ n \ treturn obj \ n '). Spara te stesso ora.
myobject = SomeClass()
def compile(obj): # use any function name
# do stuff
return obj
def parse(obj): # use any function name
# do stuff
return obj
def transpose(obj): # use any function name
# do stuff
return obj
# here is the nonwhite space thing you want
myobject=compile(myobject).parse(myobject).tanspose(myobject)
Potresti inserire ciascuna di queste funzioni in una classe come metodi. Volevo mostrare che se dovessi andare in "Non posso usare le nuove righe" le cose che ogni funzione ti chiama dovranno restituire l'oggetto che hai dato in modo da poter concatenare le tue "operazioni" con un punto invece di qualche altro metodo.
Se le tue funzioni / metodi sono piccoli potresti usare lambda. Qualcosa di male come: myobject = (lambda obj: obj.add (5)) (mioobject). (lambda obj: obj.callfunc (func, (args)) (mioobject)
Sappi che queste cose non sono affatto Pythonic. E potresti anche farli in un altro linguaggio di programmazione. Ho sempre sentito che la principale risorsa di Python è la leggibilità, causata da spazi bianchi e mancanza di caratteri non alfanumerici estranei come () {} []:; # etc.
Leggi altre domande sui tag coding-standards whitespace python