日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python基础概念_8_字符串处理

發(fā)布時(shí)間:2024/9/27 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基础概念_8_字符串处理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

字符串處理

9 字符串處理

9.1 簡(jiǎn)介

在前面的章節(jié)里我們介紹了常用的數(shù)據(jù)類型,其中字符串并沒有單獨(dú)拎出來講,那么接下來我們將重點(diǎn)講下它。字符串一般是通過引號(hào)('或")包裹起來的,因?yàn)樗胸S富的函數(shù)而且經(jīng)常使用,所以我要 詳細(xì)認(rèn)識(shí)下。

?

字符串的基本操作這里不再細(xì)述,詳見基礎(chǔ)概念里的字符串部分。這里講些字符串里的處理方法。

9.2 轉(zhuǎn)義符

字符串里有些特殊字符,需要轉(zhuǎn)義才能還原其本來的意義。如下表列舉了常見的轉(zhuǎn)義符:

?

轉(zhuǎn)義字符

含義

備注

\(在行尾時(shí))

續(xù)行符

\

... print('hello')

執(zhí)行結(jié)果:

hello

\\

反斜杠符號(hào)

print('\\')

執(zhí)行結(jié)果:

\

\'

單引號(hào)

print('his\'name is Tom!')

執(zhí)行結(jié)果:

his'name is Tom!

\"

雙引號(hào)

print("his\"name is Tom!")

執(zhí)行結(jié)果:

his"name is Tom!

\a

響鈴

print('\a')

執(zhí)行結(jié)果:

一個(gè)滴的聲音。

\b

退格(Backspace)

print('這是個(gè)退格鍵\b退格')

執(zhí)行結(jié)果:

這是個(gè)退格退格

\e

轉(zhuǎn)義

import re

re.findall('\w','abcdefghijklmnopqrstuvwxyz')

執(zhí)行結(jié)果:

['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',

?'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

\000

print(ascii("\000"))

'\x00'

print("\000")

執(zhí)行結(jié)果:

?

注:這里輸出個(gè)空。

?

\n

換行

print("這是個(gè)\n空行")

執(zhí)行結(jié)果:

這是個(gè)

空行

\v

縱向制表符

?

\t

橫向制表符

print("這是個(gè)\t制表符")

這是個(gè)? 制表符

\r

回車

f = open("G:\\test.txt", "w")

num = f.write( " Python 是一個(gè)非常好的語言。\r趣味編程是個(gè)優(yōu)質(zhì)的團(tuán)隊(duì)" )

# 關(guān)閉打開的文件

f.close()

f = open("G:\\test.txt", "r")

print(f.read())

f.close()

執(zhí)行結(jié)果:

Python 是一個(gè)非常好的語言。

趣味編程是個(gè)優(yōu)質(zhì)的團(tuán)隊(duì)

\f

換頁

?

\oyy

八進(jìn)制數(shù),yy代表的字符

f = open("G:\\test.txt", "w")

num = f.write( " Python 是一個(gè)非常好的語言。\f趣味編程是個(gè)優(yōu)質(zhì)的\o12團(tuán)隊(duì)" )

print(num)

# 關(guān)閉打開的文件

f.close()

f = open("G:\\test.txt", "r")

print(f.read())

f.close()

執(zhí)行結(jié)果:

Python 是一個(gè)非常好的語言。趣味編程是個(gè)優(yōu)質(zhì)的

團(tuán)隊(duì)

注:\x0a是時(shí)間制的10,所以是換行。

\xyy

十六進(jìn)制數(shù),yy代表的字符,例如:\x0a代表換行

同理上面的\o12替換成\x0a會(huì)達(dá)到同樣的目的。

:\x0a是時(shí)間制的10,所以是換行。

?

?

9.3 字符串運(yùn)算符

字符串可以通過一些運(yùn)算符號(hào)實(shí)現(xiàn)對(duì)字符串的拼接、組裝等操作。如下我們通過一個(gè)表格來了解下:

操作符

描述

代碼示例

+

字符串連接

a= 'hello'

b='xiaodao'

a+b

執(zhí)行結(jié)果:

helloxiaodao

*

重復(fù)輸出字符串

a= 'Hello'

a*2

執(zhí)行結(jié)果

HelloHello

[]

通過索引獲取字符串中字符,這里下表從0開始。

a= 'hello'

a[1]

執(zhí)行結(jié)果:?

e

[ : ]

截取字符串中的一部分,這里下表遵循左閉又開原則即右邊的下表取不到。

a= 'hello'

a[1:4]

執(zhí)行結(jié)果:?

ell

in

如果字符串中包含給定的字符返回 True,反之為False

a='hello'

'h' in a

執(zhí)行結(jié)果:

True

not in

如果字符串中不包含給定的字符返回 True,反之為False

a='hello'

'm' not in a

執(zhí)行結(jié)果:

True

r/R

輸出原始字符串,這里使用了該符號(hào)后即便字符串里有特殊字符仍不會(huì)轉(zhuǎn)義。保留原來的樣子。

print(r'\n')

執(zhí)行結(jié)果:\n

print(r'\\n')

執(zhí)行結(jié)果:\\n

print('\\n')

執(zhí)行結(jié)果:\n

print('\n')

執(zhí)行結(jié)果:

?

%

格式字符串

print ("我叫 %s 今年 %d 歲!" % ('小明', 10.5))

執(zhí)行結(jié)果

我叫 小明 今年 10 歲!

操作符

描述

實(shí)例

?

9.4 字符串格式輸出

字符串可以按照指定的格式輸出,比如

符?? 號(hào)

描述

示例

%c

格式化字符及其ASCII碼值

print ("我叫 %c" % ('三'))

執(zhí)行結(jié)果:

我叫 三

%s

格式化字符串

print ("我叫 %s" % ('小三,我是%s方式輸出的!'))

執(zhí)行結(jié)果:

我叫 小三,我是%s方式輸出的!

%d

格式化整數(shù)

print ("我叫 %s 今年 %d 歲!" % ('小明', 10))

執(zhí)行結(jié)果:

我叫 小明 今年 10 歲!

%u

格式化無符號(hào)整型

print ("我叫 %s 今年 %u 歲!" % ('小明', 10.00))

執(zhí)行結(jié)果:

我叫 小明 今年 10 歲!

%o

格式化無符號(hào)八進(jìn)制數(shù)

print ("我叫 %s 今年是八進(jìn)制的 %o 歲!" % ('小明', 10))

執(zhí)行結(jié)果:

我叫 小明 今年是八進(jìn)制的 12 歲!

%x

格式化無符號(hào)十六進(jìn)制數(shù)

print ("我叫 %s 今年是八進(jìn)制的 %x 歲!" % ('小明', 10))

執(zhí)行結(jié)果:

我叫 小明 今年是八進(jìn)制的 ?a歲!

%X

格式化無符號(hào)十六進(jìn)制數(shù),是大寫方式。

print ("我叫 %s 今年是八進(jìn)制的 %X 歲!" % ('小明', 10))

執(zhí)行結(jié)果:

我叫 小明 今年是八進(jìn)制的 ?A歲!

%f

格式化浮點(diǎn)數(shù)字,可指定小數(shù)點(diǎn)后的精度

print ("我叫 %s 今年是浮點(diǎn)表示的 %f 歲!" % ('小明', 10.5))

執(zhí)行結(jié)果:

我叫 小明 今年是浮點(diǎn)表示的 10.500000 歲!

%e

用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù)

print ("我叫 %s 今年是科學(xué)計(jì)算法表示的 %e 歲!" % ('小明', 1e1))

執(zhí)行結(jié)果:

我叫 小明 今年是科學(xué)計(jì)算法表示的 1.000000e+01 歲!

%E

作用同%e,用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù),是大寫方式。

print ("我叫 %s 今年是科學(xué)計(jì)算法表示的 %e 歲!" % ('小明', 1E1))

執(zhí)行結(jié)果:

我叫 小明 今年是科學(xué)計(jì)算法表示的 1.000000E+01 歲!

%g

%f和%e的簡(jiǎn)寫

print ("我叫 %s 今年是科學(xué)計(jì)算法表示的 %g 歲!" % ('小明', 1e1))

執(zhí)行結(jié)果:

我叫 小明 今年是科學(xué)計(jì)算法表示的 10 歲!

%G

%f 和 %E 的簡(jiǎn)寫

print ("我叫 %s 今年是科學(xué)計(jì)算法表示的 %G 歲!" % ('小明', 1e1))

執(zhí)行結(jié)果:

我叫 小明 今年是科學(xué)計(jì)算法表示的 10 歲!????

?

9.5字符串內(nèi)嵌函數(shù)

Python中內(nèi)嵌了許多常用的函數(shù),我們只要熟悉它們的功能即可輕松完成許多字符串處理工作。以下我們通過表格來認(rèn)識(shí)下這些常用的函數(shù):

?

函數(shù)名

描述

示例

capitalize

capitalize()

功能描述:

將字符串的首字符轉(zhuǎn)為大寫

mystr='hi man!'

print(mystr.capitalize())

執(zhí)行結(jié)果

Hi man!

center

center(width, fillchar)

功能說明:
返回一個(gè)指定的寬度 width 居中的字符串,fillchar 為填充的字符,默認(rèn)為空格。

參數(shù)說明:

?? width:字符串的總寬度。

?? fillchar:填充字符。

?

str = "xiao dao bian cheng....wow!!!";

print ("str.center(36, 'a') : ", str.center(36,'a'))
返回結(jié)果:

str.center(36, 'a') :? aaaxiao dao bian cheng....wow!!!aaaa

注:這里以開頭和結(jié)尾的兩個(gè)a包圍,因?yàn)閟tr本身長度為32.

count

count(sub, start= 0,end=len(string))
功能描述:

返回 sub 在 string 里面出現(xiàn)的次數(shù),如果 start 或者 end 指定則返回指定范圍內(nèi) sub 出現(xiàn)的次數(shù)

參數(shù)說明:

?? sub:搜索的子字符串

?? start:字符串開始搜索的位置。默認(rèn)為第一個(gè)字符,其索引值為0。

?? end:字符串中結(jié)束搜索的位置。默認(rèn)為字符串的最后一個(gè)位置。

mystr='xiaodaobiancheng'

print("第3個(gè)位置后a出現(xiàn)的次數(shù)",mystr.count('e',2,len(mystr)))

print("第3個(gè)位置后a出現(xiàn)的次數(shù)",mystr.count('a',2,len(mystr)))

print("第3個(gè)位置后a出現(xiàn)的次數(shù)",mystr.count('a',3,len(mystr)))

執(zhí)行結(jié)果:

第3個(gè)位置后a出現(xiàn)的次數(shù) 1

第3個(gè)位置后a出現(xiàn)的次數(shù) 3

第3個(gè)位置后a出現(xiàn)的次數(shù) 2

encode

encode(encoding='UTF-8',errors='strict')

功能描述:
以 encoding 指定的編碼格式編碼字符串,如果出錯(cuò)默認(rèn)報(bào)一個(gè)ValueError 的異常,除非 errors 指定的是'ignore'或者'replace'

?

參數(shù)說明:

?? encoding:要使用的編碼,如: UTF-8。

?? errors :設(shè)置不同錯(cuò)誤的處理方案。默認(rèn)為 'strict',意為編碼錯(cuò)誤引起一個(gè)UnicodeError。 其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通過 codecs.register_error() 注冊(cè)的任何值。

mystr = "趣味編程";

str_utf8 = mystr.encode("UTF-8")

str_gbk = mystr.encode("GBK")???

print("mystr的內(nèi)容是:"+mystr)

print("UTF-8編碼mystr:", str_utf8)

print("GBK編碼mystr:", str_gbk)???

print("UTF-8解碼:",str_utf8.decode('UTF-8','strict'))

print("GBK解碼:", str_gbk.decode('GBK','strict'))

執(zhí)行結(jié)果:

mystr的內(nèi)容是:趣味編程???

UTF-8編碼mystr: b'\xe5\xb0\x8f\xe9\x81\x93\xe7\xbc\x96\xe7\xa8\x8b'

GBK編碼mystr: b'\xd0\xa1\xb5\xc0\xb1\xe0\xb3\xcc'

UTF-8 解碼: 趣味編程

GBK 解碼: 趣味編程

注:以上是每個(gè)print執(zhí)行的結(jié)果的羅列,每個(gè)print之后都會(huì)有相應(yīng)結(jié)果。

decode

decode(encoding="utf-8", errors="strict")

功能說明:
decode() 方法以指定的編碼格式解碼字符串。默認(rèn)編碼為字符串編碼。

參數(shù)說明:

?? encoding:要使用的編碼,如”UTF-8″。

?? errors :設(shè)置不同錯(cuò)誤的處理方案。默認(rèn)為 'strict',意為編碼錯(cuò)誤引起一個(gè)UnicodeError。 其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通過 codecs.register_error() 注冊(cè)的任何值。

mystr = "趣味編程";

str_utf8 = mystr.encode("UTF-8")

str_gbk = mystr.encode("GBK")???

print("mystr的內(nèi)容是:"+mystr)

print("UTF-8編碼mystr:", str_utf8)

print("GBK編碼mystr:", str_gbk)???

print("UTF-8解碼:",str_utf8.decode('UTF-8','strict'))

print("GBK解碼:", str_gbk.decode('GBK','strict'))

執(zhí)行結(jié)果:

mystr的內(nèi)容是:趣味編程???

UTF-8編碼mystr: b'\xe5\xb0\x8f\xe9\x81\x93\xe7\xbc\x96\xe7\xa8\x8b'

GBK編碼mystr: b'\xd0\xa1\xb5\xc0\xb1\xe0\xb3\xcc'

UTF-8 解碼: 趣味編程

GBK 解碼: 趣味編程

注:以上是每個(gè)print執(zhí)行的結(jié)果的羅列,每個(gè)print之后都會(huì)有相應(yīng)結(jié)果。

startswith

startswith(str, beg=0,end=len(string))

功能說明:
檢查字符串是否是以 obj 開頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定范圍內(nèi)檢查。

參數(shù)說明:

?? str : 檢測(cè)的字符串。

?? beg:選參數(shù)用于設(shè)置字符串檢測(cè)的起始位置。

?? end:可選參數(shù)用于設(shè)置字符串檢測(cè)的結(jié)束位置。

?

mystr='xiaodaobianchengxngxng'

suffix='x'

print ("'"+mystr+"'"+"是以x開頭?"+str(mystr.startswith(suffix)))

print("'"+mystr+"'"+"的長度是:"+str(len(mystr)))

print ("'"+mystr+"'"+"從第17到19位置時(shí)以x開頭?"+str(mystr.startswith(suffix,17,19)))

?

執(zhí)行結(jié)果:

'xiaodaobianchengxngxng'是以x開頭?True

'xiaodaobianchengxngxng'的長度是:22

'xiaodaobianchengxngxng'從第17到19位置時(shí)以x開頭?False

endswith

endswith(suffix,start=0,end=len(string))

功能說明:

判斷字符串是否以指定后綴結(jié)尾,如果以指定后綴結(jié)尾返回True,否則返回False。可選參數(shù)”start”與”end”為檢索字符串的開始與結(jié)束位置。

參數(shù)說明:

?? suffix: 該參數(shù)可以是一個(gè)字符串或者是一個(gè)元素。

?? start:字符串中的開始位置。

?? end:字符中結(jié)束位置。

?

mystr='xiaodaobianchengxngxng'

suffix='ng'

print (mystr.endswith(suffix))

print(len(mystr))

print (mystr.endswith(suffix, 0, 19))

?

執(zhí)行結(jié)果:

True

22

True

expandtabs

expandtabs(tabsize=8)

功能說明:
把字符串 string 中的 tab 符號(hào)轉(zhuǎn)為空格,tab 符號(hào)默認(rèn)的空格數(shù)是 8 。

參數(shù)說明:

?? tabsize:指定轉(zhuǎn)換字符串中的 tab 符號(hào)('\t ')轉(zhuǎn)為空格的字符數(shù)。

?

mystr='xiaodaobian\tchengxngxng'

print ("替換 \\t符號(hào): " +? mystr.expandtabs())

print ("使用16個(gè)空格替換 \\t 符號(hào): " +? mystr.expandtabs(16))

執(zhí)行結(jié)果:

替換 \t 符號(hào): xiaodaobian???? chengxngxng

使用16個(gè)空格替換 \t 符號(hào): xiaodaobian???? chengxngxng

find

find(str, beg=0 end=len(string))

功能說明:
檢測(cè) str 是否包含在字符串中 中,如果 beg 和 end 指定范圍,則檢查是否包含在指定范圍內(nèi),如果是返回開始的索引值,否則返回-1

參數(shù)說明:

?? str :定檢索的字符串

?? beg :開始索引,默認(rèn)為0。

?? end :結(jié)束索引,默認(rèn)為字符串的長度。

?

mystr='xiaodaobiantchengxngxng'

str2='ng'

print ("'ng'所在索引序號(hào)為:"+str(mystr.find(str2)))

print ("'ng'所在索引序號(hào)為:"+str(mystr.find(str2,17)))

print ("'ng'所在索引序號(hào)為:"+str(mystr.find(str2,20)))

print ("'ng'所在索引序號(hào)為:"+str(mystr.find(str2,30)))

?

執(zhí)行結(jié)果:

'ng'所在索引序號(hào)為:15

'ng'所在索引序號(hào)為:18

'ng'所在索引序號(hào)為:21

'ng'所在索引序號(hào)為:-1

rfind

rfind(str, beg=0,end=len(string))

功能說明:
功能類似于 find()函數(shù),不過是從右邊開始查找。

mystr='xiaodaobiantchengxngxng'

str2='ng'

print (mystr.rfind(str2))

執(zhí)行結(jié)果:

21

index

index(str, beg=0, end=len(string))

功能說明:

功能類似find()方法,只不過如果str不在字符串中會(huì)報(bào)一個(gè)異常.

參數(shù)說明:

?? str :定檢索的字符串

?? beg :開始索引,默認(rèn)為0。

?? end :結(jié)束索引,默認(rèn)為字符串的長度。

?

mystr='xiaodaobiantchengxngxng'

str2='ng'

print ("'ng'所在索引序號(hào)為:"+str(mystr.index(str2)))

print ("'ng'所在索引序號(hào)為:"+str(mystr.index(str2,17)))

print ("'ng'所在索引序號(hào)為:"+str(mystr.index(str2,20)))

print ("'ng'所在索引序號(hào)為:"+str(mystr.index(str2,30)))

執(zhí)行結(jié)果:

'ng'所在索引序號(hào)為:15

'ng'所在索引序號(hào)為:18

'ng'所在索引序號(hào)為:21

Traceback (most recent call last):

?

??? print ("'ng'所在索引序號(hào)為:"+str(mystr.index(str2, 30)))

ValueError: substring not found

?

rindex

rindex( str, beg=0, end=len(string))

功能說明:
類似于 index(),不過是從右邊開始.

mystr='xiaodaobiantchengxngxng'

str2='ng'

print (mystr.rindex(str2))

執(zhí)行結(jié)果:

21

isalnum

isalnum()

功能說明:
如果字符串至少有一個(gè)字符并且所有字符都是字母或數(shù)字則返 回 True,否則返回 False

mystr='xiaodaobiantchengxngxng'

print("'"+mystr+"'"+"是不是個(gè)數(shù)字字母:"+str(mystr.isalnum()))

執(zhí)行結(jié)果:

'xiaodaobiantchengxngxng'是不是個(gè)數(shù)字字母:True

isalpha

isalpha()

功能說明:
如果字符串至少有一個(gè)字符并且所有字符都是字母則返回 True, 否則返回 False

mystr='xiaodaobiantchengxngxng!'

print("'"+mystr+"'"+"是不是個(gè)數(shù)字字母:"+str(mystr.isalnum()))

print("'"+mystr+"'"+"是一個(gè)alpha:"+str(mystr.isalpha()))

執(zhí)行結(jié)果:

'xiaodaobiantchengxngxng!'是不是個(gè)數(shù)字字母:False

注:這里最后一個(gè)字母是!號(hào),所以返回為false。

isdigit

isdigit()

功能說明:
如果字符串只包含數(shù)字則返回 True 否則返回 False..

mystr='xiaodaobiantchengxngxng!'

digitstr='123'

print("'"+mystr+"'是數(shù)字:"+str(mystr.isdigit()))

print("'"+digitstr+"'是數(shù)字:"+str(digitstr.isdigit()))

執(zhí)行結(jié)果:

'xiaodaobiantchengxngxng!'是數(shù)字:False

'123'是數(shù)字:True

isdecimal

isdecimal()

功能說明:
檢查字符串是否只包含十進(jìn)制字符,如果是返回 true,否則返回 false。

digitstr='123'

print("'"+digitstr+"'是數(shù)字:"+str(digitstr.isdecimal ()))

執(zhí)行結(jié)果:

'123'是數(shù)字:True

isnumeric

isnumeric()

功能說明:
如果字符串中只包含數(shù)字字符,則返回 True,否則返回 False

mystr = "xiaodao2017"?

print ("'"+mystr+"'"+"是不是純數(shù)字:"+str(mystr.isnumeric()))

mystr = "23443434"

print ("'"+mystr+"'"+"是不是純數(shù)字:"+str(mystr.isnumeric()))

執(zhí)行結(jié)果:

'xiaodao2017'是不是純數(shù)字:False

'23443434'是不是純數(shù)字:True

isspace

isspace()

功能說明:
如果字符串中只包含空格,則返回 True,否則返回 False.

mystr = "? "?

print ("'"+mystr+"'"+"是不是純數(shù)字:"+str(mystr.isspace()))

mystr = "xiao? dao biancheng"

print ("'"+mystr+"'"+"是不是純數(shù)字:"+str(mystr.isspace()))

執(zhí)行結(jié)果

'? '是不是純數(shù)字:True

'xiao? dao biancheng'是不是純數(shù)字:False

istitle

istitle()

功能說明:

方法檢測(cè)字符串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫。
是則返回True反之返回為False。

mystr = "This is a string xiaodao"?

print ("'"+mystr+"'"+"是不是每個(gè)單詞首字符大寫:"+str(mystr.istitle()))

mystr = "This Is A String Xiaodao"

print ("'"+mystr+"'"+"是不是每個(gè)單詞首字符大寫:"+str(mystr.istitle()))

?

執(zhí)行結(jié)果:

'This is a string xiaodao'是不是每個(gè)單詞首字符大寫:False

'This Is A String Xiaodao'是不是每個(gè)單詞首字符大寫:True

?

title

title()

功能說明:
返回"標(biāo)題化"的字符串,就是說所有單詞都是以大寫開始,其余字母均為小寫(見 istitle())

mystr = "This is a string xiaodao"?

print ("'"+mystr+"'"+"里的每個(gè)首字符被大寫:"+str(mystr.title()))

?

執(zhí)行結(jié)果:

'This is a string xiaodao'里的每個(gè)首字符被大寫:This Is A String Xiaodao

isupper

isupper()

功能說明:
如果字符串中包含至少一個(gè)區(qū)分大小寫的字符,并且所有這些字符都是大寫,則返回 True,否則返回 False

mystr = "xiaodao"?

print ("'"+mystr+"'"+"里的每個(gè)首字符被大寫:"+str(mystr.isupper()))

執(zhí)行結(jié)果:

'xiaodao'里的每個(gè)首字符被大寫:False

islower

islower()

功能說明:
如果字符串中包含至少一個(gè)區(qū)分大小寫的字符,并且所有這些字符都是小寫,則返回 True,否則返回 False

mystr = "xiaodao"?

print ("'"+mystr+"'"+"里的每個(gè)首字符被大寫:"+str(mystr.islower()))

執(zhí)行結(jié)果:

xiaodao'里的每個(gè)首字符被大寫:True

upper

upper()

功能說明:

將字符串中里每個(gè)字符轉(zhuǎn)成大寫。

mystr = "xiaodao"?

print ("'"+mystr+"'"+"里的每個(gè)首字符被大寫:"+str(mystr.upper()))

執(zhí)行結(jié)果:

'xiaodao'里的每個(gè)首字符被大寫:XIAODAO

lower

lower()

功能說明:

將字符串中里每個(gè)字符轉(zhuǎn)成小寫。

mystr = "XIAODAO"?

print ("'"+mystr+"'"+"里的每個(gè)首字符被大寫:"+str(mystr.lower()))

執(zhí)行結(jié)果:

'XIAODAO'里的每個(gè)首字符被大寫:xiaodao

?

swapcase

swapcase()

功能說明:
將字符串中大寫轉(zhuǎn)換為小寫,小寫轉(zhuǎn)換為大寫

mystr='xiaodaobiancheng'

print('大小寫轉(zhuǎn)換:'+mystr.swapcase())

print('大小寫轉(zhuǎn)換:'+mystr.swapcase().swapcase())

執(zhí)行結(jié)果:

大小寫轉(zhuǎn)換:XIAODAOBIANCHENG

大小寫轉(zhuǎn)換:xiaodaobiancheng

?

len

len(string)

功能說明:
返回字符串長度。

參數(shù)說明:

?? 字符串string

mystr = "XIAODAO"?

print ("'"+mystr+"'"+"里的每個(gè)首字符被大寫:"+str(len(mystr)))

執(zhí)行結(jié)果:

'XIAODAO'里的每個(gè)首字符被大寫:7

max

max(str)

功能說明:
返回字符串 str 中最大的字母。

mystr = "XIAODAO"?

print ("'"+mystr+"'"+"里字符的最大值:"+str(max(mystr)))

print("10,20,5里的最大值:"+str(max(10,20,5)))

?

執(zhí)行結(jié)果:

'XIAODAO'里的每個(gè)首字符被大寫:X

10,20,5里的最小值:20

?

min

min(str)

功能說明:
返回字符串 str 中最小的字母。

mystr = "XIAODAO"?

print ("'"+mystr+"'"+"字符串里的最小值:"+str(min(mystr)))

print("10,20,5里的最小值:"+str(min(10,20,5)))

?

執(zhí)行結(jié)果:

'XIAODAO'里的每個(gè)首字符被大寫:A

10,20,5里的最小值:5

join

join(seq)

功能說明:
以指定字符串作為分隔符,將 序列里的所有的元素合并為一個(gè)新的字符串

參數(shù)說明:

?? seq: 要連接的元素序列。

?

mystr = "_";

seq = ("xiao", "dao", "bian", "cheng"); # 字符串序列

print( mystr.join( seq ));

執(zhí)行結(jié)果:

xiao_dao_bian_cheng

ljust

ljust(width[, fillchar])

功能說明:
返回一個(gè)原字符串左對(duì)齊,并使用 fillchar 填充至長度 width 的新字符串,fillchar 默認(rèn)為空格。如果指定的長度小于原字符串的長度則返回原字符串。

參數(shù)說明:

?? width:指定字符串長度。

?? fillchar : 填充字符,默認(rèn)為空格。

?

mystr='xiaodaobiancheng'

print(mystr.ljust(20,'*'));

執(zhí)行結(jié)果:

xiaodaobiancheng****

rjust

rjust(width[, fillchar])

功能說明:
返回一個(gè)原字符串右對(duì)齊,并使用 fillchar 填充至長度 width 的新字符串,fillchar 默認(rèn)為空格。如果指定的長度小于原字符串的長度則返回原字符串。

參數(shù)說明:

?? width:指定字符串長度。

fillchar : 填充字符,默認(rèn)為空格

mystr='xiaodaobiancheng'

print(mystr.rjust(20,'*'));

?

執(zhí)行結(jié)果:

****xiaodaobiancheng

lstrip

lstrip()

功能說明:
截掉字符串左邊的空格

mystr='? xiaodao biancheng'

print('去除左側(cè)空格:'+mystr.lstrip())

執(zhí)行結(jié)果:

去除左側(cè)空格:xiaodao biancheng

rstrip

rstrip()

功能說明:

截掉字符串尾部的空格

?

mystr='? xiaodao biancheng? '

print('尾部去除空格:'+mystr.rstrip())

執(zhí)行結(jié)果:

尾部去除空格:? xiaodao biancheng

strip

strip()

功能說明:

截掉字符串頭部和尾部的空格

?

mystr='? xiaodaobiantchengxngxng? '

print (mystr.strip())

執(zhí)行結(jié)果:

xiaodaobiantchengxngxng

zfill

zfill (width)

功能說明:
返回長度為 width 的字符串,原字符串右對(duì)齊,前面填充0

參數(shù)說明:

?? width: 指定字符串的長度。原字符串右對(duì)齊,前面填充0。

?

mystr = "xiao dao bian cheng!!!"

print(mystr.zfill(30))

執(zhí)行結(jié)果:

00000000xiao dao bian cheng!!!

replace

replace(old, new [, max])

功能說明:
把 將字符串中的 str1 替換成 str2,如果 max 指定,則替換不超過 max 次。

參數(shù)說明:

?? old :將被替換的子字符串。

?? new :新字符串,用于替換old子字符串。

?? max :可選字符串, 替換不超過 max 次

?

mystr='? xiaodao biancheng'

print("替換'ao'為'what'"+mystr.replace('ao','what'))

print("替換'ao'為'what'2次"+mystr.replace('ao','what',2))

?

執(zhí)行結(jié)果:

替換'ao'為'what'? xiwhatdwhat biancheng

替換'ao'為'what'2次? xiwhatdwhat biancheng

split

split(str="", num=string.count(str))


num=string.count(str))

功能說明:

以 str 為分隔符截取字符串,如果 num 有指定值,則僅截取 num 個(gè)子字符串

參數(shù)說明:

?? str:分隔符,默認(rèn)為空格。

?? num : 分割次數(shù)。

?

mystr = "xiao dao bian cheng!!!"

mystr2 = "xiaao daao baaian cheng!!!"

print (mystr.split( ))

print (mystr.split('a',1))

print (mystr2.split('a',2))

print (mystr.split('n'))

?

執(zhí)行結(jié)果:

['xiao', 'dao', 'bian', 'cheng!!!']

['xi', 'o dao bian cheng!!!']

['xi', '', 'o daao baaian cheng!!!']

['xiao dao bia', ' che', 'g!!!']

splitlines

splitlines()

功能說明:
按照行('\r', '\r\n', \n')分隔,返回一個(gè)包含各行作為元素的列表。

mystr = "xiao\ndao\nbian\ncheng!!!"

print (mystr.splitlines())

執(zhí)行結(jié)果:

['xiao', 'dao', 'bian', 'cheng!!!']

maketrans

maketrans(intab, outtab)

功能說明:
創(chuàng)建字符映射的轉(zhuǎn)換表,對(duì)于接受兩個(gè)參數(shù)的最簡(jiǎn)單的調(diào)用方式,第一個(gè)參數(shù)是字符串,表示需要轉(zhuǎn)換的字符,第二個(gè)參數(shù)也是字符串表示轉(zhuǎn)換的目標(biāo)。

參數(shù)說明:

?? intab — 字符串中要替代的字符組成的字符串。

?? outtab — 相應(yīng)的映射字符的字符串。

?

intab = "aeiou"

outtab = "12345"

trantab = str.maketrans(intab, outtab)

mystr = "xiao dao bian cheng!!!"

print (mystr.translate(trantab))

執(zhí)行結(jié)果:

x314 d14 b31n ch2ng!!!

translate

translate(table, deletechars="")

功能說明:
根據(jù) str 給出的表(包含 256 個(gè)字符)轉(zhuǎn)換 string 的字符, 要過濾掉的字符放到 deletechars 參數(shù)中

參數(shù)說明:

?? table:翻譯表,翻譯表是通過maketrans方法轉(zhuǎn)換而來。

?? deletechars:字符串中要過濾的字符列表

?

intab = "aeiou"

outtab = "12345"

trantab = str.maketrans(intab, outtab)

mystr = "xiao dao bian cheng!!!"

print (mystr.translate(trantab))

執(zhí)行結(jié)果:

x314 d14 b31n ch2ng!!!

partition

partition(str)

功能說明:

該方法用來根據(jù)指定的分隔符將字符串進(jìn)行分割。

如果字符串包含指定的分隔符,則返回一個(gè)3元的元組,第一個(gè)為分隔符左邊的子串,第二個(gè)為分隔符本身,第三個(gè)為分隔符右邊的子串。

參數(shù)說明:

?? str:指定的分隔符。

mystr='xiao dao bian cheng'

print(mystr.partition(' '))

執(zhí)行結(jié)果:

('xiao', ' ', 'dao bian cheng')

rpartition

rpartition()

功能說明:

功能類似partition,只是從右邊開始查找。

參數(shù)說明:

?? str:指定的分隔符。

mystr='xiao dao bian cheng'

print(mystr.rpartition(' '))

執(zhí)行結(jié)果:

('xiao dao bian', ' ', 'cheng')

?

9.6 總結(jié)

通過本章的學(xué)習(xí)我們了解了字符串里常用的處理方法,為我們后期的程序開發(fā)奠定了堅(jiān)實(shí)的基礎(chǔ)。接下來我們學(xué)習(xí)下python里的輸入輸出。


總結(jié)

以上是生活随笔為你收集整理的Python基础概念_8_字符串处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。