Alcune list comprehensions non funzionano correttamente quando incorporo IPython 0.10 come da istruzioni. Cosa sta succedendo con il mio spazio dei nomi globale?Come si incorpora IPython con le espressioni del generatore di lavoro?
5
A
risposta
0
Sembra funzionare, ma IPython pensa che sia il programma principale. Quindi, dopo aver istanziato IPShell, un crash mostra "whoops, IPython si è bloccato".
import IPython.Shell
ipshell = IPython.Shell.IPShell(argv=[], user_ns={'root':root})
ipshell.mainloop()
1
di lista vanno bene, questo funziona:
[bar() for i in range(10)]
espressioni generatore di esso (che è quello che avete passato a quella list()
chiamata) che non sono bene:
gexpr = (bar() for i in range(10))
list(gexpr)
La differenza : gli elementi nella comprensione della lista vengono valutati al momento della definizione. Gli elementi nell'espressione del generatore vengono valutati quando viene chiamato next()
(ad esempio tramite iterazione quando lo si passa a list()
), quindi deve mantenere un riferimento all'ambito in cui è definito. Tale riferimento allo scopo sembra essere gestito in modo errato; molto probabilmente questo è semplicemente un bug IPython.
Problemi correlati
- 1. Generico Generatore di espressioni dichiarativa in PHP
- 2. Generatore di parser di espressioni regolari
- 3. Come si incorpora WebKit in una finestra?
- 4. Come lavoro con il layout scheda nel generatore GUI NetBeans?
- 5. Utilizzando mentre in di lista o generatore di espressioni
- 6. Come si incorpora iframe nell'app PhoneGap?
- 7. L'espressione del generatore causa l'interruzione di Python
- 8. Come si personalizza il colore del testo in IPython?
- 9. Jhipster che cambia le opzioni del generatore
- 10. resa in list comprehension e generatore di espressioni
- 11. Incorpora le impostazioni di vim nel file
- 12. Ambito di grep con le espressioni regolari
- 13. Tutte le espressioni regolari si fermano?
- 14. Come si capiscono le espressioni regolari scritte in una riga?
- 15. Come si combinano le espressioni LINQ in una?
- 16. Come si può usare il modello di generatore per le entità con JPA
- 17. Come usare IPython con IronPython
- 18. ipython: come impostare la larghezza del terminale
- 19. Come si scrive un generatore di espressioni di calcolo che accumula un valore e consente anche costrutti di linguaggio standard?
- 20. Come si visualizza un albero di espressioni con LINQPad?
- 21. Come si dirama una copia di lavoro modificata con SVN?
- 22. Che cos'è un buon flusso di lavoro per lo sviluppo di moduli Julia con IPython/Jupyter?
- 23. Utilizzare scanf con le espressioni regolari
- 24. Come si imposta la directory di lavoro del processo principale?
- 25. Errore di Chrome quando si incorpora l'URL del video con iframe
- 26. Come funzionano le espressioni di query web2py?
- 27. Come svuotare le istruzioni stampate in IPython
- 28. Raccontando le eccezioni di espressioni regolari di espressioni in JavaScript
- 29. Come si sopprime l'output in IPython Notebook?
- 30. Avvio del notebook ipython