Python Error TypeError:无法连接'str'和'float'对象

时间:2017-05-15 03:46:02

标签: python string concatenation

我是Python编程的新手。我一直在'str'上得到以下错误。 当我添加+ str时,它没有用。

wkt = "POINT("+ geoPoint["lat"] +" " + geoPoint["lon"] + ")"
TypeError: cannot concatenate 'str' and 'float' objects

有关如何修复此错误的任何建议?

2 个答案:

答案 0 :(得分: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)

请参阅链接页面以获取更多相关信息。

答案 1 :(得分:2)

无法将'str'和'float'连接到'+'

在python中连接字符串和float的最佳方法。使用格式函数:

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