Python:字串的基本操作
阿新 • • 發佈:2018-11-06
字串的基本操作
索引 index
python字串是不可以改變的字元序列 索引取值語法: 字串[整數表示式] 說明: python的序列都可以用索引(index) 來訪問序列中的物件 python序列的正向索引是從0開始的,第二個索引為1,最 後一個索引為len(s)-1 python序列的反向索引是從-1開始的,-1代表最後一個, -2代表倒數第二個,以此類推。第一個是-len(s) 示例: s = "ABCDE" print(s[1]) # B print(s[4]) # E print(s[-1]) # E print(s[-5]) # A print(s[100]) # IndexError 越界
切片 slice
作用: 從字串序列中取出相應的元素重新組成一個新的字串 語法: 字串[(開始索引b):(結束索引e)(:(步長s))] 注: 小括號() 括起來的部分代表可省略 說明: 開始索引是切片開始切下的位置,0代表第一個元素,1代表 第二個元素,-1代表最後一個.... 結束索引是切片的終止索引(但不包含終止點) 步長是切片每次獲取完當前元素後移動的方向和偏移量 1. 沒有步長,相當於步長為1(預設為1) 2. 當步長為正整數時,取正向切片: 開始索引預設為0,結束索引預設是最後一個元素的 下一個位置 3. 當步長為負整數時取反向切片: 反向切片時,預設的起始位置為最後一個元素,終止 位置是第一個元素的前一個位置 示例: s = "ABCDE" a = s[1:4] # a---> "BCD" a = s[:4] # 'ABCD' a = s[1:] # 'BCDE' # 等同於s[1:5] a = s[:] # 'ABCDE' # 等同於s[0:5] a = s[1:1] # '' 空字串 a = s[4:2] # '' 空 a = s[0:5:2] # 'ACE' a = s[4:0:-2] # 'EC' a = s[4::-2] # 'ECA' a = s[::-1] # 'EDCBA' python中能用於字串的函式: len(x) 返回字串長度 max(x) 返回字串編碼值最大的字元 min(x) 返回字串中編碼值最小的字元 **字串的編碼轉換函式:** ord(c) 返回一個字元c的unicode編碼值 chr(i) 返回i這個值所對應的字元 示例: x = ord('A') # x = 65 c = chr(66) # c = 'B' **整數轉換為字串的函式:** bin(i) 將整數轉換為二進位制字串 oct(i) 將整數轉換為八進位制字串 hex(i) 將整數轉換為十六進位制字串 **字串構造(建立)函式:** str(obj) 將物件轉換為字串 示例: '123' + 456 # 出錯 '123' + str(456) # 結果 '123456' **python中常用的字串方法(method)** 方法的呼叫語法: 物件.方法名(方法傳參) 示例: 'abc'.isalpha() # 返回True '123'.isalpha() # 返回False 123.isalpha() # 出錯
字串格式化表示式
作用: 生成一定格式的字串 運算子: % 語法格式: 格式化字串 % 引數值 格式化字串 % (引數值1, 引數值2, 引數值3, ...) 說明: 格式化字串中以%開頭的字元為佔位符,佔位符的位置將 用引數值替換 示例: fmt = "name: %s, age: %d" s2 = fmt % ("Tarena", 15) fmt2 = "年齡: %d" s3 = fmt2 % 35 **格式化字串中的佔位符型別碼** 佔位符和型別碼 含義 %s 字串,使用str(x) 函式轉換 %r 字串,使用repr(x) 函式轉換 %c 整數轉為單個字元 %d 十進位制整數 %o 八進位制整數 %x 十六進位制整數(字元a-f小寫) %X 十六進位制整數(字元A-F大寫) %e 指數形浮點數(e小寫) 如: 2.9e8 %E 指數形浮點數(E大寫) 如: 2.9E8 % f,%F 浮點十進位制數 %g,%G 十進位制形式浮點或指數浮點自動轉換 %% 等同於一個%字元
佔位符和型別碼之間的格式語法
% [ - + 0 寬度.精度 ] 型別碼
- 左對齊(預設是右對齊)
+ 顯示正號
0 左側空白位置補零
寬度 整個資料輸入的寬度
精度 保留小數點後多少位(預設為6位)
示例:
"%10d" % 123 # ' 123'
"%-10d" % 123 # '123 '
"%10s" % "abc" # ' abc'
'%-5s' % 'abc' # 'abc '
'%05d' % 123 # '00123'
'%+05d' % 123 # '+0123'
'%7.3f' % 3.1415926535 # ' 3.142'