在python中,string是代表unicode字元的位元組陣列。但是在python中沒有單個的字元資料型別,'a』這種只是長度為1的string
1.建立string
在python中建立字串可以用單引號,雙引號甚至是三引號。
2.訪問string中的字元>
>
>a=
'ada'
>
>
>b=
"dsfsg"
>
>
>c=
'''dasfdf'
''>
>
>a
'ada'
>
>
>b
'dsfsg'
>
>
>c
'dasfdf'
可以用索引(下標)訪問字串中的字元,需要注意的是,在python中索引可以是負數,如-1表示字串最後乙個字元的下標,-2是倒數第二個等。
當下標越界是會報indexerroer,下標只能是整數,如果是float或其他型別會報typeerror
3.字串切片
這和列表一摸一樣
>>> s[0:10]
>>> s[10:-1]
'banan'
>>> s[-1
:4:-1] #逆序
'ananab dna '
4.刪除或更新字串
注意:字串是不可更改的和元組一樣,所以不能進行刪除和更新單個或多個字元,但是可以刪除整個字串,或更新整個字串。會有如下報錯形式:
5.python 中的轉義字元>
>
> 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
在字串裡有單引號或雙引號會產生syntaxerror,因為字串本身就包含了單引號和雙引號,因此可以用三引號或轉義字元來輸出這樣的字串。
用反斜槓做轉義字元會有兩種用法:如果用單引號來表示字串,那麼字串裡的單引號前都要用轉義字元。雙引號也同理。
如果在字串前加r或r可以使轉義字元\的功能失效,如#方式一 直接用三引號表示字串,就不用在意裡面是否有單引號或雙引號了
>
>
> string1=
''' i'm a ''pig''
'''>
>
>
(string1)
i'm a "pig"
#方式二
>
>
> string2=
' i\'m a '
'pig'
''>
>
>
(string2)
i'm a "pig"
#方式三
>
>
> string3=
"i'm a \"pig\""
>
>
>
(string3)
i'm a "pig"
字串的格式化>
>
> string4=r"i'm a \"pig\""
>
>
>
(string4)
i'm a \"pig\"
整型如二進位制,十六進製制等還有浮點型消暑可以被以指數形式表示,如#預設形式
>
>
> string1 =
"{} {} {}"
.format
('geeks'
,'for'
,'life'
)>
>
>
(string1)
geeks for life
#有定位的格式化
>
>
> string1 =
" "
.format
('geeks'
,'for'
,'life'
)>
>
>
(string1)
for geeks life
#關鍵字的格式化
>
>
> string1 =
" "
.format
(g =
'geeks'
, f =
'for'
, l =
'life'
)>
>
>
(string1)
life for geeks
string 的函式#整型的格式化
>
>
>string1 ="".
format(16
)>
>
>
(string1)
10000
#浮點型的格式化
>
>
> string1 ="".
format
(165.6458
)>
>
>
(string1)
1.656458e+02
#四捨五入的整型
>
>
> string1 ="".
format(1
/6)>
>
>
(string1)
0.17
內建函式
描述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 ...