为了账号安全,请及时绑定邮箱和手机立即绑定

没有'+'运算符的字符串连接

没有'+'运算符的字符串连接

沧海一幻觉 2019-12-03 11:06:16
我在玩python,我意识到我们不需要使用'+'运算符来连接字符串,除非它与值一起使用。例如:string1 = 'Hello'   'World'  #1 works finestring2 = 'Hello' + 'World'  #2 also works finestring3 = 'Hello'string4 = 'World'string5 = string3   string4  #3 causes syntax errorstring6 = string3 + string4  #4 works fine现在我有两个问题:为什么语句3无效,而语句1无效?语句1和2之间是否存在技术上的差异,例如计算速度等?
查看完整描述

3 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

您可以使用它,%s因为它比使用+符号更有效。


>>> string2 = "%s %s" %('Hello', 'World')

>>> string2

'Hello World'

(要么)


还有一种方法是 .format


>>> string2 = "{0} {1}".format("Hello", "World")

>>> string2

'Hello World'

>>> 


查看完整回答
反对 回复 2019-12-03
?
临摹微笑

TA贡献1982条经验 获得超2个赞

语句3不起作用,因为当您将两个字符串表达式连接起来以创建新字符串时,您需要使用'+'运算符。


而在字符串1,2和4的情况下,用空格分隔的相邻文字使用不同的引用约定。因此,允许将它们打印为与串联相同。


同样,运行这两个操作不会有任何明显或明显的时差。


%%timeit -n 1

s1='ab'

s2='ba'

print(s1+s2)

o / p最慢的运行时间比最快的运行时间长17.08倍。这可能意味着正在缓存中间结果。每个循环57.8 µs±92.5 µs(平均±标准偏差,共运行7次,每个循环1个)


%%timeit -n 1

s3='ab' 'ba'

print(s3)

o / p最慢的运行时间比最快的运行时间长4.86倍。这可能意味着正在缓存中间结果。每个循环25.7 µs±21 µs(平均±标准偏差,共运行7次,每个循环1个)


查看完整回答
反对 回复 2019-12-03
  • 3 回答
  • 0 关注
  • 435 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号