我的Python學(xué)習(xí)路---07字符串

04. 字符串

4.1 字符串的定義

  • 字符串 就是 一串字符柒瓣,是編程語言中表示文本的數(shù)據(jù)類型
  • 在 Python 中可以使用 一對(duì)雙引號(hào) " 或者 一對(duì)單引號(hào) ' 定義一個(gè)字符串
    • 雖然可以使用 \" 或者 \' 做字符串的轉(zhuǎn)義,但是在實(shí)際開發(fā)中:
      • 如果字符串內(nèi)部需要使用 "舒憾,可以使用 ' 定義字符串
      • 如果字符串內(nèi)部需要使用 ',可以使用 " 定義字符串
  • 可以使用 索引 獲取一個(gè)字符串中 指定位置的字符,索引計(jì)數(shù)從 0 開始
  • 也可以使用 for 循環(huán)遍歷 字符串中每一個(gè)字符

大多數(shù)編程語言都是用 " 來定義字符串

string = "Hello Python"

for c in string:
    print(c)

4.2 字符串的常用操作

  • ipython3 中定義一個(gè) 字符串,例如:hello_str = ""
  • 輸入 hello_str. 按下 TAB 鍵解阅,ipython 會(huì)提示 字符串 能夠使用的 方法 如下:
In [1]: hello_str.
hello_str.capitalize    hello_str.isidentifier  hello_str.rindex
hello_str.casefold      hello_str.islower       hello_str.rjust
hello_str.center        hello_str.isnumeric     hello_str.rpartition
hello_str.count         hello_str.isprintable   hello_str.rsplit
hello_str.encode        hello_str.isspace       hello_str.rstrip
hello_str.endswith      hello_str.istitle       hello_str.split
hello_str.expandtabs    hello_str.isupper       hello_str.splitlines
hello_str.find          hello_str.join          hello_str.startswith
hello_str.format        hello_str.ljust         hello_str.strip
hello_str.format_map    hello_str.lower         hello_str.swapcase
hello_str.index         hello_str.lstrip        hello_str.title
hello_str.isalnum       hello_str.maketrans     hello_str.translate
hello_str.isalpha       hello_str.partition     hello_str.upper
hello_str.isdecimal     hello_str.replace       hello_str.zfill
hello_str.isdigit       hello_str.rfind

提示:正是因?yàn)?python 內(nèi)置提供的方法足夠多,才使得在開發(fā)時(shí)泌霍,能夠針對(duì)字符串進(jìn)行更加靈活的操作瓮钥!應(yīng)對(duì)更多的開發(fā)需求!

1) 判斷類型 - 9

方法 說明
string.isspace() 如果 string 中只包含空格烹吵,則返回 True
string.isalnum() 如果 string 至少有一個(gè)字符并且所有字符都是字母或數(shù)字則返回 True
string.isalpha() 如果 string 至少有一個(gè)字符并且所有字符都是字母則返回 True
string.isdecimal() 如果 string 只包含數(shù)字則返回 True碉熄,全角數(shù)字
string.isdigit() 如果 string 只包含數(shù)字則返回 True,全角數(shù)字肋拔、锈津、\u00b2
string.isnumeric() 如果 string 只包含數(shù)字則返回 True,全角數(shù)字凉蜂,漢字?jǐn)?shù)字
string.istitle() 如果 string 是標(biāo)題化的(每個(gè)單詞的首字母大寫)則返回 True
string.islower() 如果 string 中包含至少一個(gè)區(qū)分大小寫的字符琼梆,并且所有這些(區(qū)分大小寫的)字符都是小寫,則返回 True
string.isupper() 如果 string 中包含至少一個(gè)區(qū)分大小寫的字符窿吩,并且所有這些(區(qū)分大小寫的)字符都是大寫茎杂,則返回 True

2) 查找和替換 - 7

方法 說明
string.startswith(str) 檢查字符串是否是以 str 開頭,是則返回 True
string.endswith(str) 檢查字符串是否是以 str 結(jié)束纫雁,是則返回 True
string.find(str, start=0, end=len(string)) 檢測(cè) str 是否包含在 string 中煌往,如果 start 和 end 指定范圍,則檢查是否包含在指定范圍內(nèi)轧邪,如果是返回開始的索引值刽脖,否則返回 -1
string.rfind(str, start=0, end=len(string)) 類似于 find()羞海,不過是從右邊開始查找
string.index(str, start=0, end=len(string)) 跟 find() 方法類似,不過如果 str 不在 string 會(huì)報(bào)錯(cuò)
string.rindex(str, start=0, end=len(string)) 類似于 index()曲管,不過是從右邊開始
string.replace(old_str, new_str, num=string.count(old)) 把 string 中的 old_str 替換成 new_str却邓,如果 num 指定,則替換不超過 num 次

3) 大小寫轉(zhuǎn)換 - 5

方法 說明
string.capitalize() 把字符串的第一個(gè)字符大寫
string.title() 把字符串的每個(gè)單詞首字母大寫
string.lower() 轉(zhuǎn)換 string 中所有大寫字符為小寫
string.upper() 轉(zhuǎn)換 string 中的小寫字母為大寫
string.swapcase() 翻轉(zhuǎn) string 中的大小寫

4) 文本對(duì)齊 - 3

方法 說明
string.ljust(width) 返回一個(gè)原字符串左對(duì)齊院水,并使用空格填充至長(zhǎng)度 width 的新字符串
string.rjust(width) 返回一個(gè)原字符串右對(duì)齊腊徙,并使用空格填充至長(zhǎng)度 width 的新字符串
string.center(width) 返回一個(gè)原字符串居中,并使用空格填充至長(zhǎng)度 width 的新字符串

5) 去除空白字符 - 3

方法 說明
string.lstrip() 截掉 string 左邊(開始)的空白字符
string.rstrip() 截掉 string 右邊(末尾)的空白字符
string.strip() 截掉 string 左右兩邊的空白字符

6) 拆分和連接 - 5

方法 說明
string.partition(str) 把字符串 string 分成一個(gè) 3 元素的元組 (str前面, str, str后面)
string.rpartition(str) 類似于 partition() 方法檬某,不過是從右邊開始查找
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 中所有的元素(的字符串表示)合并為一個(gè)新的字符串
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末厅瞎,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子初坠,更是在濱河造成了極大的恐慌和簸,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碟刺,死亡現(xiàn)場(chǎng)離奇詭異锁保,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)半沽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門爽柒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人者填,你說我怎么就攤上這事浩村。” “怎么了占哟?”我有些...
    開封第一講書人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵心墅,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我榨乎,道長(zhǎng)怎燥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任蜜暑,我火速辦了婚禮铐姚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘肛捍。我一直安慰自己谦屑,他們只是感情好驳糯,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著氢橙,像睡著了一般酝枢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悍手,一...
    開封第一講書人閱讀 52,785評(píng)論 1 314
  • 那天帘睦,我揣著相機(jī)與錄音,去河邊找鬼坦康。 笑死竣付,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的滞欠。 我是一名探鬼主播古胆,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼筛璧!你這毒婦竟也來了逸绎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤夭谤,失蹤者是張志新(化名)和其女友劉穎棺牧,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體朗儒,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡颊乘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了醉锄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乏悄。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖恳不,靈堂內(nèi)的尸體忽然破棺而出纲爸,到底是詐尸還是另有隱情,我是刑警寧澤妆够,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布识啦,位于F島的核電站,受9級(jí)特大地震影響神妹,放射性物質(zhì)發(fā)生泄漏颓哮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一鸵荠、第九天 我趴在偏房一處隱蔽的房頂上張望冕茅。 院中可真熱鬧,春花似錦、人聲如沸姨伤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乍楚。三九已至当编,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間徒溪,已是汗流浹背忿偷。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留臊泌,地道東北人鲤桥。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像渠概,于是被迫代替她去往敵國(guó)和親茶凳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容