1. 程式人生 > >Python:字串的基本操作

Python:字串的基本操作

字串的基本操作

索引 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'