在學習Python(3x)的過程中,在拼接字符串的時候遇到了些問題,所以抽點時間整理一下Python 拼接字符串的幾種方式。
方式1,使用加號(+)連接,使用加號連接各個變量或者元素必須是字符串類型(<class 'str'>)
例如:
str_name1 = 'To' str_name2 = 'ny' str_name = str_name1 + str_name2 print(str_name)
輸出結果:
下面的代碼會出現錯誤
number=34 print('這個數是:'+number)
編譯通過運行才發現行不通,出現了一下錯誤。
修改Python 代碼:
number=34 print('這個數是:'+str(number))
方式三:使用.joiin(iterable) 拼接
print('-----------method3-----------') # method3 使用join拼接字符串 # str.join(iterable) # 可join的條件 join(iterable) iterable 可迭代的, 如果列表(list)為 非嵌套列表,列表元素為字符串(str)類型, # 序列類型,散列類型 都可以作為參數傳入 # eg(1): list_good_night = ['晚', '上', '好', '!'] str_night = ''.join(list_good_night) print(str_night) # eg(2): # 拼接前綴 ('拼接前綴').join(iterable) str_night1 = '------>'.join(list_good_night) print(str_night1) # eg(3) 拼接 iterable = 字典 key,value 必須字符串 默認拼接key 的列表 dict_name = {'key1': 'value1', 'key2': 'value2'} str_key = ','.join(dict_name) # 拼接value 的列表 str_value = ','.join(dict_name.values()) print(str_key) print(str_value)
執行結果:
方式四:使用逗號(,)拼接
# method4 使用逗號(,)連接 # 使用,逗號形式要注意一點,就是只能用於print打印,賦值操作會生成元組: print('-----------method4-----------') a, b = 'Hello', 'word' c = a, b print(a, b) print(c) print(type(c))
輸出結果:
方式五:直接拼接
# mehon5 直接連接 print('-----------method5-----------') print('hello''python')
方式六:format 拼接
# mehon5 直接連接 print('-----------method5-----------') print('hello''python') # methon6 format 拼接 str.format(args,**kwargs) # eg(1) {} 充當占位符 str_word = 'hello, word! {} {}'.format('張三', '李四') print(str_word) # eg(2) {[index]} 按索引位置填充 .format([0]=value1, [1]= value1},) str_word_index0 = 'hell0, word!{0},{1}'.format('張三', '李四') str_word_index1 = 'hell0, word!{1},{0}'.format('張三', '李四') print(str_word_index0) print(str_word_index1) # eg(3) {[keyword]} str_word_keyword = 'hell0, word!{a},{b}'.format(b='張三', a='李四') print(str_word_keyword) # eg(4) {[keyword,indec]} keyword 放在最后 str_word1 = 'hell0, word!{1}{a}{0},{b}'.format('index0', 'index1', b='張三', a='李四') print(str_word1) # eg(5) format 參數類型不限,當為元祖,列表,集合,字典時輸出 str_word2 = 'hell0, word!{b}'.format(b=['eee', 'd']) print(str_word2) # eg(6) 作為函數使用 str_word3 = 'hello, word! {} {}'.format word = str_word3('張三', '李四') print(word)
輸出結果: