二、Python基本資料型別二:字串型別
1、字串數值表示
·可以用成對的單引號或者雙引號表示
·用三個連續的單引號可表示多行字串
>>> 'abc', "abc"
('abc', 'abc')
>>> '''你好
世界!'''
'你好\n 世界!'
>>> '''Hello
World!'''
'Hello\n\n World!'
·特殊符號用轉移符號“\”表示
2、字串通過下標引用元素
·字串中第一個字元的編號為0,第二個為1,……
·字串中最後一個字元的編號為-1,倒數第二個為-2,……
>>> s = "My name is Lily" >>> s[-3] 'i' >>> s[3] 'n'
3、常見字串操作
(1)切片
·s[start : end : step](start和end表示切片範圍[start, end) ,step表示步長)
>>> s = 'Hello World!' >>> s[1 : 7 : 2] 'el ' >>> s[1 : 8 :2]'el o'
·split(sp,maxsplit),按指定字元sp(預設空格)將原字串切割為多個字串,用maxsplit指定最大切割次數,最終返回切割後的字串所組成的列表
>>> s = 'Hello World!' >>> sp = s.split('l') >>> sp ['He', '', 'o Wor', 'd!']
(2)大小寫轉換
·upper()# 全部大寫
·lower()# 全部小寫
·swapcase()# 大小寫互換
·capitalize()
·title()# 標題格式,單詞首字母大寫
>>> s = 'Hello World!' >>> print(s.upper(), "\n", s.lower(), "\n", s.title()) HELLO WORLD! hello world! Hello World! >>> print(s.swapcase(), "\n", s.capitalize()) hELLO wORLD! Hello world!
(3)替換
·replace(old,new,count)
用new替換字串中的old,count指定替換的最大次數,預設(不指定)替換全部,產生新的字串
>>> s = 'Hello World!' >>> print(s.replace('l', 'p'), '\n', s.replace('l', 'p', 2)) Heppo Worpd! Heppo World!
(4)去空格和指定字元
·strip(),刪除字串兩端的空白字元,可以指定刪除的字元
·lstrip(),刪除字串左邊的空白字元,可以指定刪除的字元
·rstrip(),刪除字串末尾的空白字元,可以指定刪除的字元
>>> s = 'aab ccc baa' >>> print(s.strip('a'), '\n', s.lstrip('a'), '\n', s.rstrip('a')) b ccc b b ccc baa aab ccc b
(5)格式化對齊相關
·ljust(width, fillstr)左對齊,右邊用fillstr指定的字元(預設用空格)補齊
·rjust(width, fillstr) 右對齊,左邊用fillstr指定的字元(預設用空格)補齊
·center(width, fillstr) 居中,兩邊用fillstr指定的字元(預設用空格)補齊
·zfill(10) 右對齊,左邊用0補齊
>>> s = 'a bc' >>> print(s.ljust(10,'*'), '\n', s.rjust(10,'-'), '\n', s.center(10), '\n', s.zfill(10)) a bc****** ------a bc a bc 000000a bc
(6)字串查詢函式
·find(str, start, end)搜尋指定字串,沒有返回-1
·index(str, start, end)同上,但是找不到會報錯,搜尋區間為左閉右開
·rfind(str, start, end)從右邊開始查詢
·count(str, start, end)統計指定的字串出現的次數
(7)字串查詢函式
·startswith('start') 是否以start開頭
·endswith('end') 是否以end結尾
·isalnum() 是否全為字母或數字
·isalpha() 是否全字母
·isdigit() 是否全數字
·islower() 是否全小寫
·isupper() 是否全大寫
·istitle() 判斷首字母是否為大寫
·isspace() 判斷字元是否為空格
4、常用函式補充
1 |
capitalize() |
2 |
center(width, fillchar) |
3 |
count(str, beg= 0,end=len(string)) |
4 |
bytes.decode(encoding="utf-8", errors="strict") |
5 |
encode(encoding='UTF-8',errors='strict') |
6 |
endswith(suffix, beg=0, end=len(string)) |
7 |
expandtabs(tabsize=8) |
8 |
find(str, beg=0, end=len(string)) |
9 |
index(str, beg=0, end=len(string)) |
10 |
isalnum() |
11 |
isalpha() |
12 |
isdigit() |
13 |
islower() |
14 |
isnumeric() |
15 |
isspace() |
16 |
istitle() |
17 |
isupper() |
18 |
join(seq) |
19 |
len(string) |
20 |
ljust(width[, fillchar]) |
21 |
lower() |
22 |
lstrip() |
23 |
maketrans() |
24 |
max(str) |
25 |
min(str) |
26 |
replace(old, new [, max]) |
27 |
rfind(str, beg=0,end=len(string)) 類似於 find()函式,不過是從右邊開始查詢. |
28 |
rindex( str, beg=0, end=len(string)) |
29 |
rjust(width,[, fillchar]) |
30 |
rstrip() |
31 |
split(str="", num=string.count(str)) |
32 |
splitlines([keepends]) |
33 |
startswith(substr, beg=0,end=len(string)) |
34 |
strip([chars]) |
35 |
swapcase() |
36 |
title() |
37 |
translate(table, deletechars="") |
38 |
轉換字串中的小寫字母為大寫 |
39 |
zfill (width) |
40 |
isdecimal() |