将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成功地验证了这一点.