2013-07-03 17 views
8

Attualmente quando uso display() funzione nel quaderno IPython ricevo ritorni a capo inseriti tra gli oggetti:IPython Notebook: come visualizzare() più oggetti senza ritorno a capo

>>> display('first line', 'second line') 
first line 
second line 

ma vorrei il comportamento print() dove tutto è tenuto sulla stessa linea, per esempio:

>>> print("all on", "one line") 
all onone line 

esiste un metodo per cambiare display comportamento per fare questo?

risposta

5

No, non può impedire il ritorno a capo, in parte perché non ci sono nuove righe da impedire. Ogni oggetto visualizzato ha il proprio div da sedersi, e questi sono disposti verticalmente. Potresti essere in grado di aggiustare ciò con futzing con i CSS, ma non lo consiglierei.

L'unico modo per ottenere due oggetti da visualizzare affiancati è creare il proprio oggetto che incapsula più oggetti visualizzati e visualizzarlo.

Per esempio, il semplice caso stringa:

class ListOfStrings(object): 
    def __init__(self, *strings): 
     self.strings = strings 

    def _repr_html_(self): 
     return ''.join([ 
      "<span class='listofstr'>%s</span>" % s 
      for s in self.strings 
      ]) 

display(ListOfStrings("hi", "hello", "hello there")) 

example notebook