Python 如何仅使用代码单元打印功能在Jupyter笔记本中呈现超链接和文本?
下面的链接提供了一种在Jupyter笔记本代码单元中的python3Python 如何仅使用代码单元打印功能在Jupyter笔记本中呈现超链接和文本?,python,jupyter-notebook,Python,Jupyter Notebook,下面的链接提供了一种在Jupyter笔记本代码单元中的python3print()函数中呈现HTML URL的方法 , 它定义了一个自定义URL类 “URL包装器” 从数据类导入数据类 @数据类(冻结=真) 类Url: “”“包装URL字符串以在IPython环境中提供良好的显示。”“” __网址:str 定义报告html(自我): “”“指向此URL的HTML链接。”“” 返回f“”#此处有问题(*) 定义(自我): “”“返回基础字符串。”“” 返回self.\uu url 评论员指出,必
print()
函数中呈现HTML URL的方法
,
它定义了一个自定义URL类
“URL包装器”
从数据类导入数据类
@数据类(冻结=真)
类Url:
“”“包装URL字符串以在IPython环境中提供良好的显示。”“”
__网址:str
定义报告html(自我):
“”“指向此URL的HTML链接。”“”
返回f“”#此处有问题(*)
定义(自我):
“”“返回基础字符串。”“”
返回self.\uu url
评论员指出,必须使用str(url())
才能获得所需的结果
与(我认为)现在的内置呈现不同,我尝试使用这个自定义类:
linker=lambda my_string:str(Url('https://www.google.com/%s“%myu字符串”)
打印('my_字符串的URL在这里',链接器('search'))
我希望链接器('search')
呈现为字符串“search”,后面是完整的超链接()。内置行为不会呈现“搜索”,而是呈现完整的超链接,我无法找到一种方法来成功修改自定义类来实现这一点。在上面的第(*)行,我尝试过:
返回f''
返回f“”
等等,但到目前为止都是徒劳的
这个答案有点帮助,但没有按照我的要求明确使用打印功能:
我遗漏了什么?这有点笨拙,但似乎有用:
类RenderHyperlink(对象):
定义初始化(self、key、link、*args):
link=link+“/”如果不是link.endswith(“/”)else链接
对于args中的arg:
链接+=arg+“/”
self.\uu url=“”.格式(链接、键)
定义报告(自我):
从IPython.core.display导入显示,HTML
显示(HTML(自我链接)
return“”#尽管不返回任何内容,但仍返回字符串的一种简陋方法
#请注意,还可以向链接添加其他参数
打印(RenderHyperlink(“搜索”)https://www.google.com/search“,”你好“))
输出:
链接指向“https://www.google.com/search/hello/"
太棒了,谢谢!调整此选项的最佳方法是什么,以允许在
RenderHyperlink()
字符串之前(或之后)的同一行上显示文本?现在如果我打印('Link:',RenderHyperlink(…),那么“Link:”和呈现的超链接将分别显示在两行上。