我似乎无法让IPython rich display system处理我的自定义类。我以前做过,但现在我错过了什么。
这会正确显示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。
答案 0 :(得分:2)
卫生署!愚蠢的错别字。它是_repr_html_
,而不是_repr_HTML_
,我忘记在self
中使用self.x
。
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