所有標準序列的操作(索引、切片、乘法、成員資格檢查、長度,最大最小值)都適用於字符串,但是,字符串是不可變的,因此不能對字符串的所有的元素進行元素輔助和切片賦值
設置字符串格式
主要的解決方案是使用字符串格式設置運算符-----百分號;設置的格式可以使用單個值、元組、字典;其中元組最常見
%s:轉換說明符;指出要將值插入在什麼地方
s:字符串;如果指定的值不是字符串,則會使用str進行轉換
.3f:包含三位小數的浮點數
另一種:模板字符串,相當於自定義參數名稱
或者直接替換字段沒有名稱或者將索引用作名稱(注:索引無需像上面這樣按照順序排列)
用參數名字的形式同理
如果變量與替換字段相同,還可以在字符串面前加上f
字符串方法
center:通過在兩邊添加填充字符讓字符串居中
find:在字符串中查找子串,找到就返回子串第一個字符的索引,未找到返回-1
注意:find返回的不是布爾類型,所以,如果find返回0,那麼就說明在索引0處找到了指定的子串
此外,find可以指定搜索的起點和終點(包含起點,不包含終點)
s.find("!!!",0,16)
join:合併序列的元素,與split相反;所合併的序列元素必須是string
lower: 返回字符串的小寫版本
應用:用戶輸入用戶名,因爲大小寫的緣故查找不到,所以查找前將用戶名都轉化爲小寫的,然後再匹配看是否存在
title:將字符串轉換爲詞首大寫,但是它確定單詞邊界的方式可能導致結果不合理
capwords:string中的函數,也具有相同功能
replace:將指定子串都替換成另一個字符串,並返回替換後的結果
split: 將字符串拆爲序列;如果沒有指定分隔符,默認在單個或者多個連續的空白字符處進行拆分
strip:將字符串開頭和末尾的空白刪除,但是中間的空白不刪除,並返回刪除後的結果
translate:與replace類似,替換字符串特定的部分,但是它只能進行單字符替換;優勢在於能夠同時替換好多個單字符,所以效率高於replace
在使用translate之前必須創建一個轉換表maketrans方法,第一個參數是原要修改的字符拼接的字符串,第二個參數是要改成的字符的拼接字符串,第三個參數要將哪些字母刪除