17

現在display()、IPython ノートブックで関数を使用すると、オブジェクト間に改行が挿入されます。

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

しかしprint()、すべてが同じ行に保持される関数の動作が必要です。たとえば、次のようになります。

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

これを行うために動作を変更する方法はありdisplayますか?

4

1 に答える 1

9

いいえ、display一部には防止する改行がないため、改行を防止できません。表示された各オブジェクトは独自のdiv位置に収まり、これらは垂直に配置されます。CSS をいじることでこれを調整できるかもしれませんが、お勧めしません。

実際に 2 つのオブジェクトを並べて表示する唯一の方法は、複数の表示オブジェクトをカプセル化する独自のオブジェクトを作成し、代わりにそれを表示することです。

たとえば、単純な文字列の場合:

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"))

サンプルノート

于 2013-07-03T04:57:17.110 に答える