圖源:清華大學公眾號
•python中一共提供了2類4中字符串的表示方法,如果希望在字符串中包含雙引號或者單引號。那麼如果想表示雙引號的話,字符串就用單引號,反之亦然。
•字符串的序號有正向遞增序號和反向遞減序號
•正向遞增從0開始;•反向遞減從-1開始;
•索引:返回字符串中單個字符 <字符串>[M].•切片:返回字符串中的一段字符子串 <字符串> [M:N]
•高級用法:使用[M:N:K]根據步長對字符串切片•-<字符串>[M:N],M缺失表示至開頭,N缺失表示至結尾•-<字符串>[M:N:K],表示根據步長K對字符串切片
•例如:「0123456789」[1:8:2]的結果是「1357」•「0123456789」[ : : -1]的結果是「9876543210」 相當於字符串的逆序
•轉義符:\(表達字符原有的意思)
•「\b」回退 「\n"換行
字符串的操作符•x+y 連接兩個字符串•nx或x\n 複製n次字符串x•x in s 如果x是s的子串,返回true,否則返回false
例子:獲取星期字符串
•輸入:1-7的整數,表示星期幾•輸出:輸出整數對應的星期字符串•例如:輸入3,輸出星期三
#WeekNamePrintV1.py
weekStr = "星期一星期二星期三星期四星期五星期六星期日"
weekId = eval(input("請輸入星期數字(1-7):"))
pos = (weekId - 1) * 3
print(weekStr[pos:pos+3]).
#WeekNamePrintV2.py
weekStr = "一二三四五六日"
weekId = eval(input("請輸入星期數字(1-7):"))
print("星期" + weekStr[weekId-1])
字符串處理函數一些以函數形式提供的字符串處理功能
函數及使用描述len(x)長度,返回字符串x的長度 len("123465")結果為6。
無論是漢字,英文字母,標點符號……長度是相同的,都是一個字符str(x)任何類型的x所對應的字符串形式
str(1.23)結果為「1.23」hex(x)或oct(x)整數x的十六進位或八進位小寫形式字符串
hex(425)結果為$0x1a9$ oct(425)結果為$0o651$chr(u)u為Unicode編碼,返回其對應的字符ord(x)x為字符,返回其對應的Unicode編碼Unicode編碼——Python字符串的編碼方式
統一字符編碼,即覆蓋幾乎所有字符的編碼方式
從0到1114111(0x10FFFF)空間,每個編碼對應一個字符
Python字符串中每個字符都是Unicode編碼
字符串的處理方法「方法」在編程中是一個專有名詞
方法特指<a>.<b>()風格中的函數<b>()
方法以及使用描述str.lower()或str.upper()返回字符串的副本,全部字符小寫/大寫
例如"AbCdEfGh".lower()結果為"abcdefgh"str.split(sep=None)返回一個列表,有str根據sep被分隔的部分組成
"A,B,C".split(",")結果為['A','B','C']str.count(sub)返回字符串sub在str中出現的次數
"an apple a day".count("a")結果為4str.replace(old,new)返回字符串str副本,所有old子串被替換為new
"python".replace("n","n123.io")str.center(width,[fillchar])字符串str根據寬度width居中,fillchar可選
"python".center(20,"=")結果為'=======python======='str.strip(chars)從str中去掉在其左側和右側chars中列出的字符
"= python=".strip(" =np")結果為"ytho"str.join(iter)在iter變量出最後元素外每個元素後增加一個str
",".join("12345")結果為"1,2,3,4,5" #主要用於字符串的分隔等字符串類型的格式化格式化是對字符串類型格式表達的方式• 字符串格式化使用.format()方法,用法如下:<模板字符串>.format(<逗號分隔的參數>)
槽•"{ }:計算機{ }的cpu佔用率為{ }%".format("2018-10-10","C",10)
:<填充><對齊><寬度><,><.精度><類型>引導符號用於填充的單個字符< 左對齊
> 右對齊
^ 居中對齊槽設定的輸出寬度數字的千位分隔符浮點數小數精度
或字符串最大輸出長度整數類型b,c,d,o,x,X
浮點數類型
e,E,f,%•>>>"{0:=^20}".format("PYTHON") '========PYTHON========'• >>> "{0:*>20}".format("BIT") '*****************BIT'• >>> "{0: , .2f}".format(123456.6789) '12,345.68'