我正在尝试一些字符串输出,我遇到了一些在打印时抛出错误的东西
x = "ll=%s%2C%20%s" % ("lat", "lng")
Run Code Online (Sandbox Code Playgroud)
上面的语法抛出一个错误:
ValueError: unsupported format character 'C' (0x43) at index 7
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?我希望得到一个结果:
ll=lat%2C%20lang
Run Code Online (Sandbox Code Playgroud)
使用%s运算符连接字符串中的变量
当python看到它时%
,它正在期待一个格式化符号.基本上,它期望类似%s
或%d
......但它找到了C
,它不知道该怎么做.
您可以%
在此链接中看到可以放置的内容.
如果你想%
在字符串中使用字符串,则必须使用另一个字符串将其转义%
:
>>> x = "ll=%s%%2C%%20%s" % ("lat", "lng")
>>> x
'll=lat%2C%20lng'
Run Code Online (Sandbox Code Playgroud)
请注意,在Python 3中,这种方式被认为是"过时的",有利于更新的.format()
方法.你也可以在Python 2.7中使用它(我相信,虽然我不确定它是在Python 2.6中引入的吗?)并且像这样做:
>>> x = "ll={0}%2C%20{1}".format("lat", "lng")
>>> x
'll=lat%2C%20lng'
Run Code Online (Sandbox Code Playgroud)
或者你甚至可以做更好的事情:
>>> x = "ll={latitude}%2C%20{longitude}".format(latitude="lat", longitude="lng")
>>> x
'll=lat%2C%20lng'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5821 次 |
最近记录: |