Python 如何仅使用代码单元打印功能在Jupyter笔记本中呈现超链接和文本?

Python 如何仅使用代码单元打印功能在Jupyter笔记本中呈现超链接和文本?,python,jupyter-notebook,Python,Jupyter Notebook,下面的链接提供了一种在Jupyter笔记本代码单元中的python3print()函数中呈现HTML URL的方法 , 它定义了一个自定义URL类 “URL包装器” 从数据类导入数据类 @数据类(冻结=真) 类Url: “”“包装URL字符串以在IPython环境中提供良好的显示。”“” __网址:str 定义报告html(自我): “”“指向此URL的HTML链接。”“” 返回f“”#此处有问题(*) 定义(自我): “”“返回基础字符串。”“” 返回self.\uu url 评论员指出,必

下面的链接提供了一种在Jupyter笔记本代码单元中的python3
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:”和呈现的超链接将分别显示在两行上。