2017-05-15 185 views
-5

我是Python編程新手。我一直在'str'上得到下面的錯誤。 當我添加+ str,它沒有工作。Python錯誤類型錯誤:無法連接'str'和'float'對象

wkt = "POINT("+ geoPoint["lat"] +" " + geoPoint["lon"] + ")" 

TypeError: cannot concatenate 'str' and 'float' objects 

我如何能解決這個錯誤有什麼建議?

+1

不要嘗試連接'str'和'flloat'對象? –

+0

不要在不理解含義的情況下輸入代碼來學習語言。首先閱讀一篇優秀的Python教程(包含在任何Python發行版中,也可在python.org網站上獲得)。 –

回答

3

最簡單的辦法是這樣的:

wkt = "POINT("+ str(geoPoint["lat"]) +" " + str(geoPoint["lon"]) + ")" 

下面會更符合公認的Python風格的標準:

wkt = "POINT(%f %f)" % (geoPoint["lat"], geoPoint["lon"]) 

它使用的string formatting

最簡單的形式你可以做更好的東西:

wkt = "POINT({lat} {lon}".format(**geoPoint) 

查看鏈接頁面以獲取更多相關信息。

2

無法串連 'STR' 和 '浮動' 與'+'

最好的方法來連接字符串,並漂浮在python.Use 格式功能:

wkt = "POINT({} {})".format(geoPoint["lat"], geoPoint["lon"]) 

還可以使用:

>>>wkt = "POINT(%s %s)" % (geoPoint["lat"], geoPoint["lon"]) 
>>>'s'+2 # use like this.It will raise type error exception 
TypeError: cannot concatenate 'str' and 'float' objects 
>>>'%s%s' % ('s', 2) 
's2' 
>>>'POINT({}{})'.format(geoPoint["lat"], geoPoint["lon"]) 
# It will print your value 
相關問題