我在玩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'
>>>

臨摹微笑
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個)
添加回答
舉報
0/150
提交
取消