Python數(shù)據(jù)類型詳解-字符串#學(xué)習(xí)猿地

### 數(shù)據(jù)類型詳解-字符串

+ 回顧字符串的定義方式

+ 了解轉(zhuǎn)義字符

+ 字符串相關(guān)的操作

+ 字符串格式化的方法

+ 字符串相關(guān)函數(shù)

### 字符串的定義方式

1. 單引號定義字符串 ‘ ’

2. 雙引號定義字符串 “ ”

3. 三引號定義字符串 ‘’‘內(nèi)容’‘’或者 “”“內(nèi)容”“”

4. 字符串定義時奕剃,引號可以互相嵌套

### 轉(zhuǎn)義字符

> 一個普通的字符出現(xiàn)在轉(zhuǎn)義符 \ 的后面時栋齿,實現(xiàn)了另外一種意義

+ \ 轉(zhuǎn)義符袍镀,續(xù)行符渠脉。

?+ 作為轉(zhuǎn)義符時,在\后面出現(xiàn)的字符可能會實現(xiàn)另外一種意義户敬。

?+ 作為續(xù)行符時际长,在行尾使用了\后熙参,可以換行繼續(xù)書寫內(nèi)容

+ \n 代表一個換行符

+ \r 代表光標位置(從\r出現(xiàn)的位置開始作為光標的起點)

+ \t 代表一個水平制表符(table 縮進)

+ \b 代表一個退格符

+ `\\` 反轉(zhuǎn)義\,輸出了\捞蛋,取消\的轉(zhuǎn)義效果

**把轉(zhuǎn)義字符作為普通字符輸出,在字符串的前面加 r' '**

示例:

```python

# \ 續(xù)行符

#續(xù)行符

# vars = '123' \

#????'456'

# print(vars)

# \ 轉(zhuǎn)義符孝冒,在字符出現(xiàn)的特定字符有著特定的意義

# \n?代表一個換行符

# vars = '歲月是把殺豬刀柬姚,\n\n但是它拿長得丑的人一點辦法都沒有拟杉。。量承。'

# \r 代表光標的位置(從\r出現(xiàn)的位置開始作為光標的起點)

# vars = '歲月是把殺豬刀搬设,\r但是它拿長得丑的人一點辦法都沒有。撕捍。拿穴。'

# \t 水平制表符(table 縮進)

# vars = '歲月是把殺豬刀,\t但是它拿長得丑的人一點辦法都沒有忧风。默色。。'

# \b 退格符

# vars = '歲月是把殺豬刀狮腿,\b但是它拿長得丑的人一點辦法都沒有腿宰。。缘厢。'

# \\ 一個\是轉(zhuǎn)義符吃度,在這個符號前在定義一個\ 就會取消轉(zhuǎn)義。變成一個普通的\輸出

# vars = '歲月是把殺豬刀贴硫,\\n但是它拿長得丑的人一點辦法都沒有椿每。。英遭。'

# 把轉(zhuǎn)義字符作為普通字符輸出,在字符串的前面加 r''

vars = r'歲月是把殺豬刀间护,\b但是它拿長得丑的人一點辦法都沒有。挖诸。汁尺。'

print(vars)

```

### 字符串相關(guān)的操作

+ 字符串 + 操作

+ 字符串 * 操作

+ 字符串 [] 切片操作

?+ 字符串[開始值:結(jié)束值:步進值]

??開始值:默認為0,結(jié)束值默認是最后一個下標税灌,步進值默認為1

示例:

```python

# - 字符串 + 操作

vara = '君不見均函,黃河之水天上來,奔流到海不復(fù)回.'

varb = '君不見菱涤,高堂明鏡悲白發(fā)苞也,朝如青絲暮成雪'

# res = vara + varb

res = '將進酒 '+'李白'

# print(res)

# - 字符串 * 操作

# vars = '雞你太美,' * 5

# print(vars)

# 雞你太美雞你太美雞你太美雞你太美雞你太美

# - 字符串 [] 切片操作 ****

# 字符串的索引操作,字符串中只能使用[]下標 訪問粘秆,不能修改

'''

0 1 2 3 4 5 6 7 8 9 10 ....

君不見如迟,黃河之水天上來,奔流到海不復(fù)回

??????????-4 -3 -2 -1

'''

vars = '君不見,黃河之水天上來殷勘,奔流到海不復(fù)回'

# print(vars[5])

# print(vars[-5])

'''

字符串的切片操作

str[開始值:結(jié)束值:步進值]

開始值:默認為0此再,結(jié)束值默認是最后一個下標,步進值默認為1

'''

# print(vars)

# print(vars[5]) # 寫一個值就是獲取指定下標的元素

# print(vars[2:5]) # 從2下標開始取值玲销,一直到下標5之前输拇,能取到2,取不到5

# print(vars[4:8:2]) # 黃河之水 ==> 黃之

# print(vars[::]) # 從頭取到尾

# print(vars[::2]) # 從頭取到尾贤斜,每隔一個取一個

# print(vars[::-1])?# 字符串倒轉(zhuǎn)過來

# print(vars[::-2])?# 字符串倒轉(zhuǎn)過來策吠,每隔一個取一個

# print(vars[1::])?# 不見,黃河之水天上來瘩绒,奔流到海不復(fù)回

# print(vars[1::2])?# 不猴抹,河水上,流海復(fù)

```

### 字符串格式化的方法

+ format

+ f

示例:

```python

# 1 format?普通方式

a = '李白'

# vars = '{}乘舟將欲行锁荔,互聞岸上踏歌聲'.format(a)

# vars = '{}乘舟將欲行蟀给,互聞岸上{}'.format(a,'踏歌聲')

# 2 format?通過索引傳參??????????????0??1??2

# vars = '{2}乘舟將欲行,互聞岸上{1}'.format('a','b','c')

# 3 format?關(guān)鍵字傳參

# vars = '{a}乘舟將欲行阳堕,互聞岸上跋理'.format(a='李白',b='踏歌聲')

# 4 format?容器類型數(shù)據(jù)傳參

# vars = '豪放派:{0[0]},婉約派:{0[1]}嘱丢,蛋黃派:{0[2]}'.format(['李白','辛棄疾','達利園'])

data = {'a':'辛棄疾','b':'蛋黃派'}

vars = '{a}乘舟將欲行薪介,互聞岸上'.format(**data)

# 3.7中新增的 格式化方法 f方法

vars = f'{data["a"]}乘舟將欲行越驻,互聞岸上{data["b"]}'

# print(vars)

# 限定小數(shù)的位數(shù)

# vars = '圓周率是多少:{:.2f}'.format(3.1415926)

# print(vars)

```

### 字符串相關(guān)函數(shù)

> 官方文檔:內(nèi)置類型:字符串

>

> https://docs.python.org/3.7/library/stdtypes.html#text-sequence-type-str

#### (一) 英文字符與字符檢測相關(guān)函數(shù)

```python

# 字符串相關(guān)函數(shù) (一) 英文字符與字符檢測相關(guān)函數(shù)

vars = 'iloveyou'

# 返回字符串的副本汁政,該字符串的首個字符大寫,其余小寫缀旁。

# str.capitalize()

res = vars.capitalize()

# 把字符串中的一個單詞的首字母大寫

res = vars.title()

# 把字符串全部改為 大寫

res = vars.upper()

# 把字符串全部改為 小寫

res = vars.lower()

# 字符串中的大小寫字符轉(zhuǎn)換记劈,大寫轉(zhuǎn)小寫,小寫轉(zhuǎn)大寫

res = vars.swapcase()

# 檢測字符串是否為全部大寫字母組成

res = vars.isupper()

# 檢測字符串是否為全部小寫字母組成

res = vars.islower()

# 檢測字符串是否符合標題title的要求

res = vars.istitle()

# 檢測字符串是否由數(shù)字和字母組成并巍,如果字符串中包含來非數(shù)字字母的其它字符目木,則返回False

res = vars.isalnum()

# 檢測字符串是否全部由字符(包含英文字符和中文)組成

res = vars.isalpha()

# 檢測字符串是否由純數(shù)字字符組成

res = vars.isdigit()

# 檢測當(dāng)前字符串是否為 空格 字符組成 ' '

res = vars.isspace()

# 檢測字符串是否以指定的字符開始的,也可以指定開始和結(jié)束的位置

res = vars.startswith('y')

# res = vars.startswith('y',5)

# 檢測字符串是否以 指定的字符 結(jié)束的懊渡,也可以指定開始和結(jié)束的位置

# res = vars.endswith('y')

res = vars.endswith('e',1,5)

print(res)

```

#### (二)字符串 查找與操作相關(guān)函數(shù) 重點重點重點

示例:

```python

#?** find() 方法 刽射,找到則返回字符中符合條件的第一個字符出現(xiàn)的索引位置。未找到返回 -1

res = vars.find('you')

# print(vars[res:res+3])

# index() 方法

# res = vars.index('youe') # 找到則返回索引位置剃执,未找到則報錯 ValueError

# print(res)

vars = 'user_admin_id_123'

# ** split() 方法 可以按照指定的分隔符誓禁,把字符串分隔成列表

# res = vars.split('_') # ['user', 'admin', 'id', '123']

res = vars.split('_',2)?# ['user', 'admin', 'id_123']

# print(res)

# rsplit() 方法是從右向左進行,從后向前

# res = vars.rsplit('_')?# ['user', 'admin', 'id', '123']

res = vars.rsplit('_',2)?# ['user_admin', 'id', '123']

# print(res)

# ** join() 方法 肾档,使用指定的字符串摹恰,把一個容器中的元素鏈接成一個字符串

varlist = ['user', 'admin', 'id', '123']

res = '_'.join(varlist)

# ** strip() 去除字符串左右兩側(cè)的指定字符

vars = '?zhangsan?'

res = vars.strip(' ')

vars = '@admin'

res = vars.strip('@')

# print(vars)

# print(res)

# rstrip() 去除字符串右側(cè)的指定字符辫继, lstrip() 去除字符串左側(cè)的指定字符

# ** len() 函數(shù)可以獲取當(dāng)前字符串的長度

# print(len(vars))

# print(len(res))

# ** replace() 替換函數(shù)

vars = 'iloveyou'

# 找到 love?替換為 live

res = vars.replace('love','live')

vars = 'aabbccddeeabcdef'

#?可以限制替換的次數(shù)

res = vars.replace('b','B',2)

# print(res)

```

掌握學(xué)習(xí)方法,不如會彎道超車俗慈!

學(xué)習(xí)猿地:成就自己的只需一套精品姑宽!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市闺阱,隨后出現(xiàn)的幾起案子炮车,更是在濱河造成了極大的恐慌,老刑警劉巖馏颂,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件示血,死亡現(xiàn)場離奇詭異,居然都是意外死亡救拉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門瘫拣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來亿絮,“玉大人,你說我怎么就攤上這事麸拄∨擅粒” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵拢切,是天一觀的道長蒂萎。 經(jīng)常有香客問我,道長淮椰,這世上最難降的妖魔是什么五慈? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮主穗,結(jié)果婚禮上泻拦,老公的妹妹穿的比我還像新娘。我一直安慰自己忽媒,他們只是感情好争拐,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著晦雨,像睡著了一般架曹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上闹瞧,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天绑雄,我揣著相機與錄音,去河邊找鬼夹抗。 笑死绳慎,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杏愤,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼靡砌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了珊楼?” 一聲冷哼從身側(cè)響起通殃,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎厕宗,沒想到半個月后画舌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡已慢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年曲聂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片佑惠。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡朋腋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出膜楷,到底是詐尸還是另有隱情旭咽,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布赌厅,位于F島的核電站穷绵,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏特愿。R本人自食惡果不足惜仲墨,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望洽议。 院中可真熱鬧宗收,春花似錦、人聲如沸亚兄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽审胚。三九已至匈勋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間膳叨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工菲嘴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留饿自,地道東北人汰翠。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像昭雌,于是被迫代替她去往敵國和親复唤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

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