04.2 python基礎--字串
阿新 • • 發佈:2018-12-18
4.2.1 介紹
String(字串):用單引號(')或雙引號(")括起來,同時使用反斜槓(\)轉義,索引值以 0 為開始值,-1 為從末尾的開始位置
str='Runoob' print(str) ##輸出字串 print(str[0:-1]) ##輸出第一個到倒數第二個的所有字元 print(str[0]) ##輸出字串第一個字元 print(str[2:5]) ##輸出從第三個開始到第五個的字元 print(str[2:]) ##輸出從第三個開始的後的所有字元 print(str * 2) ##輸出字串兩次 print(str + '你好') ##連線字串 print('------------------------------') print('hello\nrunoob') ##使用反斜槓(\)+n,轉義特殊字元 print(r'hello\nrunoob') ##在字串前面新增一個 r,表示原始字串,不會發生轉義 > Runoob > Runoo > R > noo > noob > RunoobRunoob > Runoob你好 > ------------------------------ > hello > runoob > hello\nrunoob
4.2.2 字串操作
+ [M: N],M缺失表示至開頭,N缺失表示至結尾
+ [M: N: K],根據步長K對字串切片
+ x + y ---連線兩個字串x和y
+ n * x 或 x * n ---複製n次字串x
+ x in s ---如果x是s的子串,返回True,否則返回False
# 輸出數字後輸出星期
w="星期一星期二星期三星期四星期五星期六星期日"
n=(eval(input('請輸入[0-7]之間的數字'))-1)*3
print(w[n:n+3])
4.2.3 字串方法
+ len(x)---長度,返回字串x的長度------len("一二三456") 結果為 6 + str(x)----任意型別x所對應的字串形式----str(1.23)結果為"1.23" str([1,2])結果為"[1,2]" + hex(x) 或 oct(x)----整數x的十六進位制或八進位制小寫形式字串------hex(425)結果為"0x1a9" oct(425)結果為"0o651" + chr(u)------x為Unicode編碼,返回其對應的字元 + ord(x)----- x為字元,返回其對應的Unicode編碼 + str.lower() 或 str.upper()-------返回字串的副本,全部字元小寫/大寫 + str.split(sep=None)--------返回一個列表,由str根據sep被分隔的部分組成 + str.count(sub)-------返回子串sub在str中出現的次數------- + str.replace(old, new)-------返回字串str副本,所有old子串被替換為new + str.center(width[,fillchar])------字串str根據寬度width居中,fillchar可選 + str.strip(chars)----從str中去掉在其左側和右側chars中列出的字元 + str.join(iter)------在iter變數除最後元素外每個元素後增加一個str
"AbCdEfGh".lower() 結果為 "abcdefgh" "A,B,C".split(",") 結果為 ['A','B','C'] "a apple a day".count("a") 結果為 4 "python".replace("n","n123.io") 結果為```python123.io``` "python".center(20,"=") 結果為```=======python=======``` "= python= ".strip(" =np") 結果為```ytho``` ",".join("12345") 結果為```"1,2,3,4,5"```----**主要用於字串分隔**
4.2.4 轉義字元
轉義字元 描 述
\(在行尾時) 續行符
\\ 反斜槓符號
\' 單引號
\" 雙引號
\a 響鈴
\b 退格(Backspace)
\e 轉義
\000 空
\n 換行
\v 縱向製表符
\t 橫向製表符
\r 回車
\f 換頁
\oyy 八進位制數,yy代表的字元,例如:\o12代表換行
\xyy 十六進位制數,yy代表的字元,例如:\x0a代表換行
\other 其它的字元以普通格式輸出
4.2.5 字串格式化
符號 描述
%c 格式化字元及其ASCII碼
%s 格式化字串
%d 格式化整數
%u 格式化無符號整型
%o 格式化無符號八進位制數
%x 格式化無符號十六進位制數
%X 格式化無符號十六進位制數(大寫)
%f 格式化浮點數字,可指定小數點後的精度
%e 用科學計數法格式化浮點數
%E 作用同%e,用科學計數法格式化浮點數
%g %f和%e的簡寫
%G %f 和 %E 的簡寫
%p 用十六進位制數格式化變數的地址
4.2.6 轉換
##str >>>list
s = '32f'
l = list(s)
print(l)
>['3', '2', 'f']
##str >>>tuple
s = '32f'
t = tuple(s)
print(t)
>('3', '2', 'f')
##list >>>str
l = ['3', '2', 'f']
m = ''.join(l) ##列表和元組轉換為字串則必須依靠join函式
n = '.'.join(l)
print(m, n)
>32f 3.2.f
##tuple >>>str
t = ('3', '2', 'f')
e = ''.join(t) ##列表和元組轉換為字串則必須依靠join函式
f = 'd'.join(t)
print(e, f)
>32f 3d2df