python怎麼拼接字串

disable發表於2021-09-11

python怎麼拼接字串

幾乎任何一種程式語言,都把字串列為最基礎和不可或缺的資料型別。而拼接字串是必備的一種技能。今天,我跟大家一起來學習Python拼接字串的七種方式。

(推薦教程:)

1、來自C語言的%方式

print('%s %s' % ('Hello', 'world'))
>>> Hello world

%號格式化字串的方式繼承自古老的C語言,這在很多程式語言都有類似的實現。上例的%s是一個佔位符,它僅代表一段字串,並不是拼接的實際內容。實際的拼接內容在一個單獨的%號後面,放在一個元組裡。

類似的佔位符還有:%d(代表一個整數)、%f(代表一個浮點數)、%x(代表一個16進位制數),等等。%佔位符既是這種拼接方式的特點,同時也是其限制,因為每種佔位符都有特定意義,實際使用起來太麻煩了。

2、format()拼接方式

# 簡潔版
s1 = 'Hello {}! My name is {}.'.format('World', 'Python貓')
print(s1)
>>>Hello World! My name is Python貓.
# 對號入座版
s2 = 'Hello {0}! My name is {1}.'.format('World', 'Python貓')
s3 = 'Hello {name1}! My name is {name2}.'.format(name1='World', name2='Python貓')
print(s2)
>>>Hello World! My name is Python貓.
print(s3)
>>>Hello World! My name is Python貓.

這種方式使用花括號{}做佔位符,在format方法中再轉入實際的拼接值。容易看出,它實際上是對%號拼接方式的改進。這種方式在Python2.6中開始引入。

上例中,簡潔版的花括號中無內容,缺點是容易弄錯次序。對號入座版主要有兩種,一種傳入序列號,一種則使用key-value的方式。實戰中,我們更推薦後一種,既不會數錯次序,又更直觀可讀。

3、() 類似元組方式

s_tuple = ('Hello', ' ', 'world')
s_like_tuple = ('Hello' ' ' 'world')

print(s_tuple) 
>>>('Hello', ' ', 'world')
print(s_like_tuple) 
>>>Hello world

type(s_like_tuple) >>>str

注意,上例中s_like_tuple並不是一個元組,因為元素間沒有逗號分隔符,這些元素間可以用空格間隔,也可以不要空格。使用type()檢視,發現它就是一個str型別。我沒查到這是啥原因,猜測或許()括號中的內容是被Python最佳化處理了。

這種方式看起來很快捷,但是,括號()內要求元素是真實字串,不能混用變數,所以不夠靈活。

4、物件導向模板拼接

from string import Template
s = Template('${s1} ${s2}!') 
print(s.safe_substitute(s1='Hello',s2='world')) 
>>> Hello world!

5、常用的+號方式

str_1 = 'Hello world! ' 
str_2 = 'My name is Python貓.'
print(str_1 + str_2)
>>>Hello world! My name is Python貓.
print(str_1)
>>>Hello world!

6、join()拼接方式

str_list = ['Hello', 'world']
str_join1 = ' '.join(str_list)
str_join2 = '-'.join(str_list)
print(str_join1) >>>Hello world
print(str_join2) >>>Hello-world

7、f-string方式

name = 'world'
myname = 'python_cat'
words = f'Hello {name}. My name is {myname}.'
print(words)
>>> Hello world. My name is python_cat.

相關教程推薦:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/200/viewspace-2836678/,如需轉載,請註明出處,否則將追究法律責任。

相關文章