为什么我得到不同的字符串长度? 尝试在联机python编译器中键入以下代码:
XivelyID=2
XivelyCV=3
PUTjsonBODY='{ "version": "1.0.0", \r\n\
"datastreams" : [ { \r\n\
"id"" : "%s", \r\n\
"current_value"" : "%s" } ]\r\n\
}\r\n'
print PUTjsonBODY %(XivelyID,XivelyCV)
print len(PUTjsonBODY)
print
XivelyID=8
XivelyCV=9
PUTjsonBODY='{ "version": "1.0.0", \r\n\
"datastreams" : [ { \r\n\
"id"" : "%s", \r\n\
"current_value"" : "%s" } ]\r\n\
}\r\n'%(XivelyID,XivelyCV)
print PUTjsonBODY
print len(PUTjsonBODY)
第一个打印长度(PUTjsonBODY)是116
第二个打印长度(PUTjsonBODY)是114
为什么?你知道吗
附言。 请尝试在此处输入代码并联机运行:
http://www.compileonline.com/execute_python_online.php
第2页 如果上面和下面的文字是完全准确的上面的结果是所有的方式2比底部! 为什么?你知道吗
第一个
len()
中的字符串有%s
两次。你知道吗第二个
len()
中的字符串有8
和9
。你知道吗8
和9
是比%s
和%s
短的两个字符。你知道吗如果要进行准确的比较,请将第一个
len()
更改为:看起来很明显:第一次,您没有更改字符串
PUTjsonBODY
的值。将值代入其中,但这会创建一个新的字符串对象。PUTjsonBODY
保持不变。你知道吗第二次,在赋值给
PUTjsonBODY
之前,将值替换为。不同的弦,不同的长度。具体地,第一字符串中的%s
的第一实例是第二字符串中的8
,第一字符串中的%s
的第二实例是第二字符串中的9
。您已将4个字符替换为2个字符,因此它们的长度相差4-2=2。你知道吗相关问题 更多 >
编程相关推荐