通过函数在 IPython 笔记本中显示 SVG

Display SVG in IPython notebook from a function

在 IPython 笔记本中,以下代码在单元格下方显示 SVG:

from IPython.display import SVG
SVG(url='http://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg')

下面什么都不显示:

from IPython.display import SVG
def show_svg():
    SVG(url='http://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg')

有没有办法从函数(或 class)中显示 SVG?

return 添加到您的函数中:

from IPython.display import SVG
def show_svg():
    return SVG(url='http://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg')

然后在单元格的最后一行调用您的函数:

show_svg()

您需要display SVG 喜欢

from IPython.display import SVG, display
def show_svg():
    display(SVG(url='http://upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg'))

您的第一个示例作为 SVG 对象 returns 本身工作,随后由 IPython 显示机制显示。由于您想在自定义方法中创建 SVG 对象,因此您需要处理显示问题。
display 调用类似于普通的 print 语句,但可以处理不同的表示形式,如图像、html、乳胶等。有关详细信息,请查看 rich display documentation