当两个函数的输出相同时,print(9)和print(str(9))之间的区别是什么?
发布于 2016-09-05 06:52:47
print总是首先尝试对给定的对象调用__str__。在第一种情况下,int实例的__str__ 9是'9'。
在第二种情况下,首先在9上显式调用9(它调用其__str__并生成'9')。然后,print调用'9'的__str__,如果与字符串实例一起提供,该__str__将返回它,因为它将再次生成'9'。
因此,在这两种情况下,print最终都会打印出类似的输出。
发布于 2016-09-05 06:52:02
来自文献资料
所有非关键字参数都像
str()那样转换为字符串。
发布于 2016-09-05 06:56:40
print(str(9))
print(9)输出:
9
9产出没有变化。但是如果我们通过执行检查数据类型,
print(type(str(9)))
print(type(9))然后我们得到输出,
<class 'str'>
<class 'int'>因此,您可以看到,类型是不同的,但输出是相同的。
https://stackoverflow.com/questions/39325178
复制相似问题