【问题标题】:Python Error TypeError: cannot concatenate 'str' and 'float' objects [duplicate]Python错误TypeError:无法连接'str'和'float'对象[重复]
【发布时间】:2017-10-13 18:05:36
【问题描述】:

我是 Python 编程新手。我在“str”上不断收到以下错误。 当我添加 + str 时,它不起作用。

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

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

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

【问题讨论】:

  • 不要尝试连接 strflloat 对象?
  • 不要在没有理解含义的情况下通过输入代码来学习语言。从阅读优秀的 Python 教程开始(包含在任何 Python 发行版中,也可以在 python.org 网站上找到)。

标签: python string concatenation


【解决方案1】:

最简单的解决方案如下所示:

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' 和 'float'

    在python中连接字符串和浮动的最佳方法。使用format函数:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多