Python String型別詳解

2021-10-02 23:31:05 字數 4216 閱讀 4059

在python中,string是代表unicode字元的位元組陣列。但是在python中沒有單個的字元資料型別,'a』這種只是長度為1的string

1.建立string

在python中建立字串可以用單引號,雙引號甚至是三引號。

>

>

>a=

'ada'

>

>

>b=

"dsfsg"

>

>

>c=

'''dasfdf'

''>

>

>a

'ada'

>

>

>b

'dsfsg'

>

>

>c

'dasfdf'

2.訪問string中的字元

可以用索引(下標)訪問字串中的字元,需要注意的是,在python中索引可以是負數,如-1表示字串最後乙個字元的下標,-2是倒數第二個等。

當下標越界是會報indexerroer,下標只能是整數,如果是float或其他型別會報typeerror

3.字串切片

這和列表一摸一樣

>>> s[0:10]

>>> s[10:-1]

'banan'

>>> s[-1

:4:-1] #逆序

'ananab dna '

4.刪除或更新字串

注意:字串是不可更改的和元組一樣,所以不能進行刪除和更新單個或多個字元,但是可以刪除整個字串,或更新整個字串。會有如下報錯形式:

>

>

> s=

>

>

> s[0]

='d'

traceback (most recent call last)

: file ""

, line 1,in

typeerror:

'str' object does not support item assignment

>

>

>s=

"orange"

>

>

>s

'orange'

>

>

> del a[0]

traceback (most recent call last)

: file ""

, line 1,in

typeerror:

'str' object doesn't support item deletion

>

>

> del s #刪除整個s

>

>

> s

traceback (most recent call last)

: file ""

, line 1,in

nameerror: name 's' is not defined

5.python 中的轉義字元

在字串裡有單引號或雙引號會產生syntaxerror,因為字串本身就包含了單引號和雙引號,因此可以用三引號或轉義字元來輸出這樣的字串。

用反斜槓做轉義字元會有兩種用法:如果用單引號來表示字串,那麼字串裡的單引號前都要用轉義字元。雙引號也同理。

#方式一 直接用三引號表示字串,就不用在意裡面是否有單引號或雙引號了

>

>

> string1=

''' i'm a ''pig''

'''>

>

>

print

(string1)

i'm a "pig"

#方式二

>

>

> string2=

' i\'m a '

'pig'

''>

>

>

print

(string2)

i'm a "pig"

#方式三

>

>

> string3=

"i'm a \"pig\""

>

>

>

print

(string3)

i'm a "pig"

如果在字串前加r或r可以使轉義字元\的功能失效,如

>

>

> string4=r"i'm a \"pig\""

>

>

>

print

(string4)

i'm a \"pig\"

字串的格式化
#預設形式

>

>

> string1 =

"{} {} {}"

.format

('geeks'

,'for'

,'life'

)>

>

>

print

(string1)

geeks for life

#有定位的格式化

>

>

> string1 =

" "

.format

('geeks'

,'for'

,'life'

)>

>

>

print

(string1)

for geeks life

#關鍵字的格式化

>

>

> string1 =

" "

.format

(g =

'geeks'

, f =

'for'

, l =

'life'

)>

>

>

print

(string1)

life for geeks

整型如二進位制,十六進製制等還有浮點型消暑可以被以指數形式表示,如

#整型的格式化

>

>

>string1 ="".

format(16

)>

>

>

print

(string1)

10000

#浮點型的格式化

>

>

> string1 ="".

format

(165.6458

)>

>

>

print

(string1)

1.656458e+02

#四捨五入的整型

>

>

> string1 ="".

format(1

/6)>

>

>

print

(string1)

0.17

string 的函式

內建函式

描述string .isdigit()

如果字串都是數字返回true,反之返回false

string.isalpha()

如果字串的字元都是按字典順序排列返回true,否則返回false

string.index(ele)

返回第乙個ele元素的下標,如果沒有會報錯

string.replace(new,old)

返回原來字串的拷貝,這個拷貝中將old的元素都替換成了new的元素

string.lower()

返回原來字串的拷貝,這個拷貝將所有大寫字元轉成小寫字元

string.upper()

同理string.count(ele)

返回ele出現的次數

string.split(ele)

返回乙個列表,這個列表按照ele元素將字串進行分隔,如果ele不再字串中,或者沒有輸入ele,預設直接返回字串本身的列表

string.join(seq)

返回乙個字串,這個字串將seq的每個元素都插入string,如果不想插入,string可以是』'空字元

python String操作總結

def split self,sep none maxsplit none 按照指定字元切割字串,返回乙個列表,可以指定切割次數 defstrip self,chars none 去空格,去掉字串兩邊的空格 defupper self 轉換為大寫 deflower self 轉換為小寫 defrep...

Python string常用函式

2017 07 03 23 26 08 1 replace self,old,new,count 1 replace 函式將舊字串替換為新字串,最後乙個引數count為可選項,表示替換最多count次 小於count 注意這種替換返回替換後的字串,源字串是不改變的。s abcdef out s.re...

開始Python String處理(2)

5 string方法 1 find 返回子串在 sting 中第一次出現的 index 值,沒有找到返回 1 title monty python s flying circus title.find monty 0 title.find python 6 title.find zirquss 1 ...