当两个函数的输出相同时,Python中的print(9)
和print(str(9))
之间有什么区别?
答案 0 :(得分:2)
所有非关键字参数都转换为
之类的字符串str()
答案 1 :(得分:2)
print
将始终首先尝试在您提供的对象上调用__str__
。在第一种情况下,int实例__str__
的{{1}}为9
。
在第二种情况下,您首先在'9'
上明确调用str
(调用其9
并生成__str__
)。然后,'9'
调用print
' s '9'
,如果提供了字符串实例,则会返回它,因为它会再次生成__str__
。
因此,在这两种情况下,最终'9'
将打印出类似的输出。
答案 2 :(得分:1)
print(str(9))
print(9)
输出:
9
9
输出没有变化。但是如果我们通过执行检查数据类型,
print(type(str(9)))
print(type(9))
然后我们得到输出,
<class 'str'>
<class 'int'>
所以,你可以看到,类型不同但输出相同。
答案 3 :(得分:0)
简单来说:
整数是专门保存数值的变量。而字符串是一个可以容纳一系列字符(包括数字)的变量。
print(9) says it should print the NUMERICAL value 9
print(str(9)) says it should print the character 9,
因此,如果您要对两种类型进行添加,例如:
9 + 9 will always return 18
str(9) + str(9) will always return 99