2017-05-15 165 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 
相关问题