2014-09-25 83 views
1

我似乎無法讓IPython rich display system工作在我的自定義類上。我以前做過,但現在我失去了一些東西。啓用IPython筆記本豐富的顯示

這將顯示正確的HTML代碼:

import IPython.core.display 
from IPython.display import display, HTML 
HTML('<b>hey</b>') 

但這並不:

class FooBase(object): 
    def __init__(self, x): 
     self.x = x 

class FooHTML(FooBase): 
    def _repr_HTML_(self): 
     return '<span><b>FooHTML</b> x=%s</span>'%x 

foo1 = FooHTML('hey') 
foo1 

我剛剛得到這個:

<__main__.FooHTML at 0x83fb160> 

我缺少什麼?我正在運行IPython 1.1.0。

回答

2

Doh!啞巴錯字。它是_repr_html_,而不是_repr_HTML_,我忘記了在self.x中使用self

class FooBase(object): 
    def __init__(self, x): 
     self.x = x 

class FooHTML(FooBase): 
    def _repr_html_(self): 
     return '<span><b>FooHTML</b> x=%s</span>' % self.x