[英]why python not converts float or any other data type to string when written with string?
假设
p1="python"
p2="script"
r=0.242424
print(p1+" "+p2+" "+r) #wrong or error in python
print(p1+" "+p2+" "+str(r)) #correct
为什么我们必须在Python中将浮点数显式转换为字符串,而其他语言(如Java)却将其隐式转换呢?
如果要将各种数据类型连接到字符串中,请在使用+
或str.join
方法进行串联之前将它们作为字符串。
正如Martijn所显示的,它不是打印所必需的,但是这可能会造成混淆,因为默认情况下,打印包括换行符和将要打印的逗号分隔的元素分隔开的空格。
如果要将它们隐式转换为字符串,建议使用string.format
方法:
>>> '{0} {1} {2}'.format(p1, p2, r)
'python script 0.242424'
只要您不介意获取默认的字符串表示形式,这便是一种非常有用且高效的格式化文本格式的方法,而不必担心类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.