[英]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.