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

我在玩python,我意识到我们不需要使用'+'运算符来连接字符串,除非它与值一起使用。


例如:


string1 = 'Hello'   'World'  #1 works fine

string2 = 'Hello' + 'World'  #2 also works fine


string3 = 'Hello'

string4 = 'World'

string5 = string3   string4  #3 causes syntax error

string6 = string3 + string4  #4 works fine

现在我有两个问题:


为什么语句3无效,而语句1无效?

语句1和2之间是否存在技术上的差异,例如计算速度等?


沧海一幻觉
浏览 436回答 3
3回答

三国纷争

您可以使用它,%s因为它比使用+符号更有效。>>> string2 = "%s %s" %('Hello', 'World')>>> string2'Hello World'(要么)还有一种方法是 .format>>> string2 = "{0} {1}".format("Hello", "World")>>> string2'Hello World'>>> 

临摹微笑

语句3不起作用,因为当您将两个字符串表达式连接起来以创建新字符串时,您需要使用'+'运算符。而在字符串1,2和4的情况下,用空格分隔的相邻文字使用不同的引用约定。因此,允许将它们打印为与串联相同。同样,运行这两个操作不会有任何明显或明显的时差。%%timeit -n 1s1='ab's2='ba'print(s1+s2)o / p最慢的运行时间比最快的运行时间长17.08倍。这可能意味着正在缓存中间结果。每个循环57.8 µs±92.5 µs(平均±标准偏差,共运行7次,每个循环1个)%%timeit -n 1s3='ab' 'ba'print(s3)o / p最慢的运行时间比最快的运行时间长4.86倍。这可能意味着正在缓存中间结果。每个循环25.7 µs±21 µs(平均±标准偏差,共运行7次,每个循环1个)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python