天天看點

[python字元串的索引與切片操作_python 字元串,字元串運算,比較,索引,切片等...

一:

字元串: str

作用:用來記錄文本資訊,

字面值表示方法:用引号括起來的部分都是字元串。

'' 單引号

"" 雙引号

''' 三引号

""" 三雙引号

單引号和雙引号的差別:

單引号的雙引号不算結束符

雙引号内的單引号不算結束符

三引号字元串的作用:

三引号内可以包含單引号和雙引号

三引号字元串重的換行會自動轉換為換行符'\n'

二:用轉義序列代表特殊字元

字元串字面值中用子字元反斜杠\

後跟一些字元代表特殊的一個字元

如: \' 代表一個單引号

\" 代表雙引号

\n 代表一個換行符

字元串中反斜杠字義符表:

\' 單引号

\" 雙引号

\ 反斜杠

\n 換行

\r 傳回光标至行首

\f 換頁

\t 水準制表符

\v 垂直制表符

\b 倒退

\0 字元串,字元值為零

\xXX XX 兩位十六進制表示的字元

\uXXXX Unicode16的十六進制表示的字元

\uXXXXXXXX Unicode32的十六進制表示的字元

三:

raw 字元串 (原始字元串)

格式:

r '字元串内容'

r "字元串内容"

r '''字元串内容'''

r """字元串内容"""

作用: 讓轉義符号 \ 無效

#轉義後的:

a = 'C:\newfile\test.py'

a

'C:\newfile\test.py'

#未轉義raw字元串:

a = r'C:\newfile\test.py'

a

'C:\newfile\test.py'

四:

字元串的運算:

加号運算符用于拼接字元串

+= 運算符用原字元串與右側字元串拼接生成新的字元串

示例:

s = 'ABCD' + 'EFG'

s += '123'

print(s) >> ABCDEFG1234

s2 = s + s

print(s2) >> ABCDEFG1234ABCDEFG1234

乘運算:生成重複的字元串

= 生成重複的字元串并讓原變量綁定成後的字元串。

示例:

s = "ABC" 3 #s = 'ABCABCABC'

print(s)

s2 = 5 '0' #s2 = '00000'

s = "123"

s= 3 # s = '123123123'

五:

字元串的比較運算:

>

>=

<

<=

==

!=

格式:

x > y

比較規則:

1,字元串x的第一個字母與字元串y的第一個字母比較,如果不相同則直接的到比較結果。如果相同則再去第二個字母進行比較,以此類推,

2,比較的依據是字元的UNICODE編碼值

示例:

'AD' > 'ABC' #True

'ABC' != 'CBA' #True

'ABC' == 'CBA' #False

'AB' <= 'ABC' #True

六:

in / not in 運算符

作用:用于序列,字典,集合,等容器中,用于判斷某個值是否存在于容器中,如果存在就傳回True,否則傳回False

not in 于 in 運算符的傳回結果相反,

格式:

對象 in 序列

七:

字元串的索引 index

python的字元串是不可改變的字元序列。

文法:

字元串[整數表達式]

說明:python序列都可以用索引(index)來通路序列中的對象

python序列的正向索引是從0開始的,第二個索引為1......以此類推,最後一個索引是len(s)-1

python序列的反向索引是從-1開始的,-1代表最後一個,-2代表倒數第二個,以此類推,第一個是-len(s)

示例:

s = "ABCD"

print(s[0]) #A

A

print(s[2]) #C

C

print(s[-1]) #D

D

八:

切片 slice

作用:從字元串中取出向應得元素,重新組成一個字元串序列。

文法:

字元串[(開始索引b):(結束索引e)(:(步長s))]

注:小括号()括起的部分代表可以省略。

文法說明:1,開始索引是切片下的位置,0代表第一個元素,1代表第二個元素,-1代表左後一個元素,

2,結束索引是切片的終止索引(但不包括終止點)

3,步長是切片每次擷取完目前元素後向右偏移量

1,沒有步長,相當于取值完畢後右移動一個索引的位置(預設為1)

2,當步長為整數時,最正向索引

3,當步長為負數時,去反向切片

反向切片是,預設的起始位置為最後一個元素,

終止位置是第一個元素的前一個位置。

示例:

s = 'ABCDE'

s[0]

'A'

s[1]

'B'

s[2]

'C'

s[3]

'D'

s[4]

'E'

s[5] #沒有第五個,是以報錯

Traceback (most recent call last):

File "", line 1, in

IndexError: string index out of range

s = 'ABCDE'

s[-1]

'E'

s[-2]

'D'

s[-3]

'C'

s[-4]

'B'

s[-5]

'A'

s = 'ABCDE'

s[2:-2]

'C'

s[:-2]

'ABC'

s[:-2:2]

'AC'

s[-1:0:-1]

'EDCB'

s[-1:-100:-2]

'ECA'

九:

python3中常用的序列函數:

len(seq) 傳回序列的長度

max(x) 傳回序列的最大值

min(x) 傳回序列的最小值

字元串編碼轉換函數:

ord(c) 傳回一個字元的Unicode值

chr(i) 傳回i這個值所對應的字元

示例:

>>> i = ord('中')

>>> i

20013

>>> c= chr(20013)

>>> c

'中'

>>>

十:

整數轉換為字元串函數:

hex(i) 将整數轉換為 十六進制字元串

oct(i) 将整數轉換為 八進制字元串

bin(i) 将整數轉換為 二進制字元串

>>> hex(10)

'0xa'

>>> oct(10)

'0o12'

>>> bin(10)

'0b1010'

>>>

字元串構造函數:

str(obj='') 将對象轉換為字元串