自學(xué)整理記錄,大神見(jiàn)笑
字符串
- 引號(hào)中的內(nèi)容就是字符串,是一種文本類型
- Python中可以單引號(hào)可以是單引號(hào),但一般用雙引號(hào)
- 字符串總有"號(hào),使用轉(zhuǎn)義符即可
- 字符串可以循環(huán)遍歷出每一個(gè)字符
字符串的常用操作
1.查
- 字符串[索引]
str_one = "zhangsan"
print(str_one)
a = str_one[4]
print(a)
- 查詢字符串str_one索引為4的字符
- 輸出如下:

2.統(tǒng)計(jì)
2.1 獲取字符串長(zhǎng)度→ len
- len(字符串)
str_one = "zhangsan"
print(str_one)
a = len(str_one)
print(a)
- 統(tǒng)計(jì)str_one的長(zhǎng)度
- 輸出如下:

2.2 字符串2在字符串1中出現(xiàn)的次數(shù)→count
- 字符串1.count(字符串2)
str_one = "zhangsan"
str_two = "a"
print(str_one)
a = str_one.count(str_two)
print(a)
- 統(tǒng)計(jì)字符串2 str_two在字符串1 str_one中出現(xiàn)的次數(shù)
- 輸出如下:

- 注:count方法可以指定開(kāi)始查詢的位置索引,和結(jié)束查詢位置的索引兩個(gè)參數(shù),如下
str_one = "zhangsan"
str_two = "a"
print(str_one)
a = str_one.count(str_two, 1, 4)
print(a)
- 統(tǒng)計(jì)字符串2 str_two在字符串1 str_one中從索引1到索引4之間出現(xiàn)的次數(shù)
- 輸出如下:

2.3 字符串2在字符串1中第一次出現(xiàn)的索引→index
- 字符串1.index(字符串2)
str_one = "zhangsan"
str_two = "a"
print(str_one)
a = str_one.index(str_two)
print(a)
- 統(tǒng)計(jì)字符串2 str_two在字符串1 str_one中第一次出現(xiàn)的索引位置
- 輸出如下:

- 注:index方法同樣可以加兩個(gè)參數(shù),開(kāi)始查詢位置的參數(shù)和結(jié)束位置的參數(shù),同count方法,如下
str_one = "zhangsan"
str_two = "a"
print(str_one)
a = str_one.index(str_two, 3, 7)
print(a)
- 統(tǒng)計(jì)字符串2 str_two在字符串1 str_one中從索引3到索引7之間第一次出現(xiàn)的索引位置
- 輸出如下:

- 注:如果字符串2在字符串1中不存在,則會(huì)報(bào)錯(cuò)ValueError,如下
str_one = "zhangsan"
str_two = "b"
print(str_one)
a = str_one.index(str_two)
print(a)
- 輸出如下:

字符串常用方法總覽
- 判斷類型
| 方法 | 說(shuō)明 |
|---|---|
| string.isspace() | 如果string中只包含空白字符(空格或者制表符或空格),返回True |
| string.isalnum() | 如果string至少有一個(gè)字符且所有字符都是字母或數(shù)字,返回True |
| string.isalpha() | 如果string至少有一個(gè)字符且所有字符都是字母,返回True |
| string.isdecimal() | 如果string只包含數(shù)字,返回True,全角數(shù)字 |
| string.isdigit() | 如果stirng只包含數(shù)字,返回True,全角數(shù)字、(1)、\u00b2 |
| string.isnumeric() | 如果string只包含數(shù)字,返回True,全角數(shù)字,漢字?jǐn)?shù)字 |
| string.istitle() | 如果string是標(biāo)題化的(每個(gè)單詞的首字母大寫),返回True |
| string.islower() | 如果string包含至少一個(gè)字母且所有字母小寫,返回True |
| string.isupper() | 如果string包含至少一個(gè)字母且所有字母大寫,返回True |
- 查找和替換
| 方法 | 說(shuō)明 |
|---|---|
| stirng.startswith(str) | 檢查stirng是否以str開(kāi)頭,是則返回True |
| stirng.endswith(str) | 檢查stirng是否以str結(jié)尾,是則返回True |
| stirng.find(str,start=0,end=len(stirng)) | 檢測(cè)str是否包含在string中,如果start和end指定范圍,則檢查是否包含在指定范圍內(nèi),是則返回開(kāi)始的索引值,否則返回-1 |
| stirng.rfind(str,start=0,end=len(stirng)) | 類似find()方法,區(qū)別是從右側(cè)開(kāi)始查找 |
| stirng.index(str,start=0,end=len(stirng)) | 類似find()方法,只不過(guò)str不在stirng會(huì)報(bào)錯(cuò) |
| stirng.rindex(str,start=0,end=len(stirng)) | 類似rfind()方法,只不過(guò)str不在stirng會(huì)報(bào)錯(cuò) |
| stirng.replace(old_str,new_str,num=string.count(old)) | 把stirng中的old_str替換成new_str,如果num指定,則替換不超過(guò)num次 |
- 大小寫轉(zhuǎn)換
| 方法 | 說(shuō)明 |
|---|---|
| stirng.capitalize() | 把stirng的第一個(gè)字母大寫 |
| stirng.title() | 把stirng的每個(gè)單詞首字母大寫 |
| stirng.lower() | 把stirng中的所有字母改為小寫 |
| stirng.upper() | 把stirng中的所有字母改為大寫 |
| stirng.swapcase() | 翻轉(zhuǎn)stirng中字母的大小寫 |
- 文本對(duì)齊
| 方法 | 說(shuō)明 |
|---|---|
| string.ljust(width) | 返回一個(gè)原string左對(duì)齊,并使用空格補(bǔ)齊至width長(zhǎng)度的新string |
| string.rjust(width) | 返回一個(gè)原string右對(duì)齊,并使用空格補(bǔ)齊至width長(zhǎng)度的新string |
| string.center(width) | 返回一個(gè)原string居中,并使用空格補(bǔ)齊至width長(zhǎng)度的新string |
注意:上面三個(gè)方法第二個(gè)參數(shù)可以指定填充的內(nèi)容
去除空白字符
| 方法 | 說(shuō)明 |
|---|---|
| string.lstrip() | 截掉string左邊開(kāi)始的空白字符 |
| string.rstrip() | 截掉string右邊末尾的空白字符 |
| string.strip() | 截掉string左右兩邊的空白字符 |
- 拆分和連接
| 方法 | 說(shuō)明 |
|---|---|
| string.partition(str) | 把string分成一個(gè)3元素的元組(str前面,str,str后面) |
| string.rpartition(str) | 類似于partition()函數(shù),區(qū)別是從右邊開(kāi)始查找 |
| string.split(str="",num) | 以str為分隔符切string,如果num有指定值,則僅分隔num+1個(gè)子字符串,str默認(rèn)包含'\r','\t','\n'和空格 |
| string.splitlines() | 按照行('\r','\n','\r\n')分隔,返回一個(gè)包含各行作為元素的列表 |
| string.join(seq) | 以string作為分隔符,將seq中所有的元素(stirng表示)合并為一個(gè)新stirng |
字符串的切片
- 切片即Java中的截取
- 切片使用索引值來(lái)限定范圍,從一個(gè)大的字符串中切出小的字符串
- 切片格式如下:
字符串[開(kāi)始索引:結(jié)束索引:步長(zhǎng)]
- 注意:從頭開(kāi)始,或到末尾結(jié)束的索引可以省略
- 注:步長(zhǎng)不指定,默認(rèn)為1
- 注:倒序是從-1開(kāi)始,-2,-3類推

公共方法
Python內(nèi)置函數(shù)
| 函數(shù) | 描述 | 備注 |
|---|---|---|
| len(item) | 計(jì)算容器中元素個(gè)數(shù) | |
| del(item) | 刪除變量 | del有兩種方式 |
| max(item) | 返回容器中元素最大值 | 如果是字典,只針對(duì)key比較 |
| min(item) | 返回容器中元素最小值 | 如果是字典,只針對(duì)key比較 |
| cmp(item1,itme2) | 比較兩個(gè)值,-1小于/0等于/1大于 | Python 3.x取消了cmp函數(shù) |
- 注意:字符串比較規(guī)則"0"<"A"<"a"
切片
- 列表,元組,字符串都可切片
運(yùn)算符
| 運(yùn)算符 | Python表達(dá)式 | 結(jié)果 | 描述 | 支持的數(shù)據(jù)類型 |
|---|---|---|---|---|
| + | [1,2]+[3,4] | [1,2,3,4] | 合并 | 字符串、列表、元組 |
| * | ["Hi!"]*4 | ["Hi!","Hi!","Hi!","Hi!"] | 重復(fù) | 字符串、列表、元組 |
| in | 3 in (1,2,3) | True | 元素是否存在 | 字符串、列表、元組、字典 |
| not in | 4 not in (1,2,3) | True | 元素是否不存在 | 字符串、列表、元組、字典 |
| > >= == <= < | (1,2,3)<(2,2,3) | True | 元素比較 | 字符串、列表、元組 |
- 注:字典和int整型不能使用*號(hào)重復(fù)拼接
- 注意:append方式會(huì)把列表當(dāng)作一個(gè)獨(dú)立元素添加到列表中
- in和not in在和字典操作時(shí),判斷的是key
- in和not in被稱為成員運(yùn)算符
成員運(yùn)算符
- in和not in,判斷該元素是否是列表/元組/字典/字符串中的成員,所以稱為成員運(yùn)算符
- 事例見(jiàn)上方表格中
完整的for循環(huán)語(yǔ)句
- 語(yǔ)法格式如下:
for 變量 in 集合:
?循環(huán)體代碼
else:
?沒(méi)有通過(guò)break退出循環(huán),循環(huán)結(jié)束后,會(huì)執(zhí)行的代碼