将Python函数type()应用于单个对象时,将返回该对象的类型.

num = 5
type(num) 

Out[1]: int

在将此输出嵌入到字符串中并打印结果时,这似乎是预期的行为.

num = 5
print(f"type of {num} is {type(num)}")

type of 5 is <class 'int'>

但是,当将此确切消息用作断言错误消息时,该类型将从消息输出中消失.

num = 5
assert isinstance(num,str), f"type of {num} is {type(num)}"

AssertionError: type of 5 is 

我正在通过Databricks cluster上的笔记本运行代码,该笔记本显示在Web浏览器中. 预计yields 将为:AssertionError: type of 5 is <class 'int'>.

造成这种情况的原因是什么,如何避免呢?

编辑:正如一些 comments 者所提到的,代码在Databricks环境之外运行得很好.我也使用Python3.10.6成功地验证了这一点.

推荐答案

输出中的字符<被解释为HTML标记的开始.通过将replace("<","&lt;")应用于f弦,可以避免这种情况.然后,完整的代码变为:

num = 5
assert isinstance(num,str), f"type of {num} is {type(num)}".replace("<", "&lt;")

Python相关问答推荐

在Python中根据id填写年份系列

sys.modulesgo 哪儿了?

将从Python接收的原始字节图像数据转换为C++ Qt QIcon以显示在QStandardProject中

替换字符串中的点/逗号,以便可以将其转换为浮动

如何在Python中使用时区夏令时获取任何给定本地时间的纪元值?

在Pandas 日历中插入一行

分组数据并删除重复数据

提取两行之间的标题的常规表达

如何在msgraph.GraphServiceClient上进行身份验证?

Pandas - groupby字符串字段并按时间范围 Select

加速Python循环

Python列表不会在条件while循环中正确随机化'

如何从列表框中 Select 而不出错?

从Windows Python脚本在WSL上运行Linux应用程序

使用Openpyxl从Excel中的折线图更改图表样式

如何将数据帧中的timedelta转换为datetime

pandas fill和bfill基于另一列中的条件

在极点中读取、扫描和接收有什么不同?

什么是一种快速而优雅的方式来转换一个包含一串重复的列,而不对同一个值多次运行转换,

使用polars. pivot()旋转一个框架(类似于R中的pivot_longer)