亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

沒有'+'運算符的字符串連接

沒有'+'運算符的字符串連接

滄海一幻覺 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 關注
  • 460 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號