在Python中字串是不可改變的物件(immutable),因此無法直接修改字串的某一位字元。一種可行的方式,是將字串轉換為列表,修改列表的元素後,在重新連接為字串。
範例程式碼如下:
s = 'abcdefghijk' #原字符串 l = list(s) #将字符串转换为列表,列表的每一个元素为一个字符 l[1] = 'z' #修改字符串的第1个字符为z newS = ''.join(l) #将列表重新连接为字符串 print(newS)#azcdefghijk #修改后的字符串
# 字串格式化與拼接規格
[強制] 除了a b這種最簡單的情況外,應該使用%或format格式化字串。
解釋
複雜格式化使用%或format更直觀
Yes: x = a + b x = '%s, %s!' % (imperative, expletive) x = '{}, {}!'.format(imperative, expletive) x = 'name: %s; score: %d' % (name, n) x = 'name: {}; score: {}'.format(name, n) No: x = '%s%s' % (a, b) # use + in this case x = '{}{}'.format(a, b) # use + in this case x = imperative + ', ' + expletive + '!' x = 'name: ' + name + '; score: ' + str(n)
·[強制] 不要使用=拼接字符串列列表,應該使用join。
解釋
python中字串是不可修改物件。每次 =會建立一個新的字串,效能較差。
Yes: items = ['<table>'] for last_name, first_name in employee_list: items.append('<tr><td>%s, %s</td></tr>' % (last_name, first_name)) items.append('</table>') employee_table = ''.join(items) No: employee_table = '<table>' for last_name, first_name in employee_list: employee_table += '<tr><td>%s, %s</td></tr>' % (last_name, first_name) employee_table += '</table>'
以上是python中正確的字串編碼規範的詳細內容。更多資訊請關注PHP中文網其他相關文章!