python 字符串

一、復(fù)習(xí)

1捎泻、字符串(str)

通過雙引號(hào)或者單引號(hào)引起來的內(nèi)容就是字符串

2、Unicode編碼

3、轉(zhuǎn)義字符

\n --> 換行

\' --->'

\t---> 制表符

\\ ---> \

\" --->"

二湿右、字符串中的元素

1、阻止轉(zhuǎn)義(在字符串的最前面可以添加r/R來阻止字符串中的轉(zhuǎn)義字符轉(zhuǎn)義)

2罚勾、python中可以把字符串看成是一個(gè)序列(容器)毅人,容器中內(nèi)容是字符。

每一個(gè)字符可以稱為字符串中的元素尖殃。字符串是一個(gè)不可變的序列丈莺,有序(不可變指的是字符串中的每個(gè)字符,以及每個(gè)字符的位置不可變)

3送丰、獲取字符串中的單個(gè)字符

語法: 字符串[下標(biāo)] ---> 根據(jù)下標(biāo)獲取字符串中的字符

說明:a.字符串:可以是字符串的變量缔俄,也可以是字符串值

? ? ? ? b.[]:固定寫法

? ? ? ? c.下標(biāo):0~字符串長(zhǎng)度-1; -1~-長(zhǎng)度

注意:下標(biāo)是整數(shù);下標(biāo)不能越界

python中的每個(gè)字符串中字符都會(huì)對(duì)應(yīng)一個(gè)下標(biāo)俐载,下標(biāo)是根據(jù)字符在字符串中的位置铐懊,從前往后依次增加的(第一個(gè))

str3='python'

p-->0? y-->1? t-->2? h-->3 ....

m-->-1? o-->-2? h-->-3 ....

print(str3[0])? # p

print(str3[-6])? # p

index=2

print(str3[index])

print(str3[6//2])


注意:一個(gè)空格算一個(gè)字符,一個(gè)轉(zhuǎn)義字符算一個(gè)字符瞎疼,一個(gè)制表符也是算一個(gè)字符

4科乎、獲取字符串中的部分字符(切片)

A、語法:字符串[起始下標(biāo):結(jié)束下標(biāo)] ---> 獲取字符串中從起始下標(biāo)開始贼急,到結(jié)束下標(biāo)前的所有的字符

注意:起始下標(biāo)對(duì)應(yīng)的字符要在結(jié)束下標(biāo)對(duì)應(yīng)的字符的前面茅茂,否則取不到值

str5 = '同九年,汝何秀太抓!'

print(str5[1:5])? ? ?九年空闲,汝

print(str5[5:-1])? ? 何秀

B、語法:字符串[起始下標(biāo):結(jié)束下標(biāo):步長(zhǎng)] --> 從起始下標(biāo)開始獲取走敌,每步長(zhǎng)獲取一個(gè)康铭,獲取到結(jié)束下標(biāo)前為止

步長(zhǎng)為正:從前往后取(起始下標(biāo)對(duì)應(yīng)的字符要在結(jié)束下標(biāo)對(duì)應(yīng)的字符的前面厚骗,否則取不到值)

步長(zhǎng)為負(fù):從后往前去(起始下標(biāo)對(duì)應(yīng)的字符要在結(jié)束下標(biāo)對(duì)應(yīng)的字符的后面,否則取不到值)

str5 = '海賊王 、一拳超人骑丸、一人之下另假、進(jìn)擊的巨人'

print(str5[1:10:2])? ? ? ? 賊芯杀、拳人一

print(str5[10:0:-1])? ? ? ?一肤舞、人超拳..賊

C、切片時(shí)下標(biāo)可以省略项炼,省略不同的下標(biāo)有不同的意義

省略起始下標(biāo):字符串[:結(jié)束下標(biāo)] --->從開頭開始取(注意:這兒開頭可能是第一個(gè)字符也可能是最后一個(gè)字符)

str6 = '閣下何不同風(fēng)起担平,扶搖直上九萬里'

print(str6[:4])

print(str6[:4:-1])

省略結(jié)束下標(biāo):字符[起始下標(biāo):] ---> 從開始下標(biāo)取,取完為止

兩個(gè)下標(biāo)都识Р俊:字符[:] ---> 全部取完

注意:切片的時(shí)候下標(biāo)可越界

print(str6[0:100])? ? ? ?閣下何不同風(fēng)起暂论,扶搖直上九萬里

print(str6[-100:3])? ? ?閣下何

三、字符串運(yùn)算符

python中的字符串支持+拌禾、*和比較運(yùn)算符

1.字符串的+號(hào)運(yùn)算符

字符串1 + 字符串2 --->? 將字符串1和字符串2拼接在一起產(chǎn)生一個(gè)新的字符串

注意:+ 兩邊要么都是數(shù)字取胎,要么都是字符串,不能一樣一個(gè)

str1 = '玉樹臨風(fēng)美少年'

str2 = '攬鏡自顧夜不眠'

print(str1+str2)

new_str = str1 + ',' + str2 + '!'

print(new_str)

print(str1+','+str2)

2.*

字符串1 * n ----> 字符串

n必須是整數(shù)

str3 = '家有千金蹋砚,行止由心'?

print(str3*3)? ? ? ? ? ? #家有千金扼菠,行止由心家有千金摄杂,行止由心家有千金坝咐,行止由心

先算乘再算加

str4 = str1 + str3*2

print(str4)

3.比較運(yùn)算符

print('abc' == 'abc')? 判斷兩個(gè)字符串的值是否相等

print('abc' != 'ab')

比較大小:比較兩個(gè)字符串中從前往后每個(gè)字符的編碼值的大小析恢,比較到兩個(gè)字符不相同為止

print('abcdef' > 'bc')

判斷一個(gè)字符是否是數(shù)字字符墨坚,判斷一個(gè)字符是否是字母字符

print('==========')

char = 'H'

print('0'<=char<='9')

print('a'<=char<='z' or "A"<=char<='Z')?

4.in和not in

# 字符串1 in 字符串2 ---> 判斷字符串1是否在字符串2中或者字符串2中是否包含字符串1,結(jié)果為bool值

print('ab' in 'aaabc')? ? ? ? ? ? ? ? ? True

print('ab' in 'acb')? ? ? ? ? ? ? ? ? ? ? ?False

print('ab' not in 'aaabc')? ? ? ? ? ? ?False

print('ab' not in 'acb')? ? ? ? ? ? ? ? ?True

5.len()函數(shù)

len是python內(nèi)置函數(shù),功能是用來獲取序列的長(zhǎng)度(容器中元素的個(gè)數(shù))

len(序列)

字符串的長(zhǎng)度就是字符串中字符的個(gè)數(shù)

print(len('hello'))? ? ? ? 5

str5 = '窗前明月光\n疑是地上霜泽篮!'

print(len(str5))? ? ? ? ? ? ?12

四盗尸、格式字符串

字符串的內(nèi)部,通過格式站位符來表示字符串中變化的部分帽撑,然后在后面用值來填充變化的部分

語法;帶有占位符的字符串 % (給占位符賦值的值)

注意:前面有多少個(gè)占位符泼各,后面()中就必須有多少值。并且值的個(gè)數(shù)和值的類型要和前面的占位符一一對(duì)應(yīng)

%s ---> 字符串

%d ---> 整數(shù)

%f ---> 小數(shù)

%.nf ---> 保留小數(shù)點(diǎn)后n位小數(shù)(五舍六入)

name = '李四'

age = 20

money = 10.567

message= '姓名:%s 年齡:%d 薪資:%.2f' %? (name,age,money)

print(message)

print('%d:%c' % (97,97))

五亏拉、字符串的內(nèi)置函數(shù)

如果第一個(gè)字符不是字母扣蜻,將不會(huì)轉(zhuǎn)換

1.capitalize():將字符串的第一個(gè)字符轉(zhuǎn)換為大寫,返回一個(gè)新的字符串

str1 = 'love'

new_str = str1.capitalize()

print(new_str)? ? ? ? ? ? ? Love

2.字符串對(duì)齊

a.center(width,fillchar)

b.ljust(width,fillchar)

c.rjust(width,fillchar)

width ---> 長(zhǎng)度及塘,新的字符串的總長(zhǎng)度? ? ? fillchar ---> 剩下部分填充的字符莽使。 字符就是長(zhǎng)度是1的字符串

str2 = 'xxx'

new_str = str2.center(7,'0')

print(new_str)? ? ? ? ? ? ? 00xxx00

new_str = str2.ljust(7,'0')

print(new_str)? ? ? ? ? ? ? xxx0000

new_str = str2.rjust(7,'0')

print(new_str)? ? ? ? ? ? ? ?0000xxx

3.字符串1.count(字符串2)---> 統(tǒng)計(jì)字符串1中字符串2的個(gè)數(shù)

print('abcdabcdaaa'.count('ab'))? ? ? ? ? ? ? ? ? ?2

print('hello world'.count('l'))? ? ? ? ? ? ? ? ? ? ? ? ? ?3

4.字符串1.endswith(字符串2) ---> 判斷字符串1是否以字符串2結(jié)尾

字符串1.startswith(字符串2) ---> 判斷字符串1是否以字符串2開頭

str1 = 'when i was'

print(str1.endswith('was')

5.字符串1.find(字符串2) --->在字符串1中查找字符串2,返回第一個(gè)的開始下標(biāo)笙僚。如果沒有就返回-1

str1 ='when i was young , i have a dream'

print(str1.find('was'))

print(str1.find('wasaa')

6.isnumeric()

print('1234'.isnumeric())? ? ? ? ? ? ? ?T

print('一二五七九'.isnumeric())? ? ? ? ? ? ? ? ?T

7.isTitle()

標(biāo)題化:每個(gè)單詞首字母大寫芳肌,其他字母小寫

8.字符串1.join(字符串2)? ---> 將字符串1插入到字符串2中每個(gè)字符中間,產(chǎn)生一個(gè)新的字符串

print('aa'.join('xyz'))? ? ? ? ? ? ? ? ? xaayaaz

六肋层、作業(yè)

1亿笤、個(gè)性化消息: 將用戶的姓名存到一個(gè)變量中,并向該用戶顯示一條消息栋猖。顯示的消息應(yīng)非常簡(jiǎn)單责嚷,如“Hello Eric, would you like to learn some Python today?”。

name = 'eric'

print('hello ' + name +','+ 'would you like to learn some?Python today?')

2掂铐、調(diào)整名字的大小寫: 將一個(gè)人名存儲(chǔ)到一個(gè)變量中罕拂,再以小寫、大寫和首字母大寫的方式顯示這個(gè)人名全陨。

name= 'lucy'

new_name=name.upper()

print(new_name)? ? ? # 小寫轉(zhuǎn)大寫

new_name=name.lower()

print(new_name)? ? ? # 大寫轉(zhuǎn)小寫

new_name=name.capitalize()

print(new_name)? ? ? ?#首字母大寫

3爆班、名言: 找一句你欽佩的名人說的名言,將這個(gè)名人的姓名和他的名言打印出來辱姨。輸出應(yīng)類似于下面這樣(包括引號(hào)):Albert Einstein once said, “A person who never made a mistake never tried anything new.”

celebrity='韓愈'

str='“事業(yè)無窮年”'

print(celebrity+'曾說過柿菩,'+str)

4、名言2: 重復(fù)練習(xí)2-5雨涛,但將名人的姓名存儲(chǔ)在變量famous_person 中枢舶,再創(chuàng)建要顯示的消息,并將其存儲(chǔ)在變量message 中替久,然后打印這條消息凉泄。

celebrity='韓愈'

str='“事業(yè)無窮年”'

message=celebrity+'曾說過,'+str

print(message)

5蚯根、剔除人名中的空白: 存儲(chǔ)一個(gè)人名后众,并在其開頭和末尾都包含一些空白字符。務(wù)必至少使用字符組合"\t" 和"\n" 各一次。 打印這個(gè)人名蒂誉,以顯示其開頭和末尾的空白教藻。然后,分別使用剔除函數(shù)lstrip() 右锨、rstrip() 和strip() 對(duì)人名進(jìn)行處理括堤,并將結(jié)果打印出來。

name='小王'

name1='小\n王'

name2='小\t王'

print(name1)

print(name2)

name3 = name.center(6, '0')

print(name3)? ? ? ? ? ? ? ? 輸出結(jié)果為:00小王00

name3 = nameljust(6, '0')

print(name3)? ? ? ? ? ? ? ? 輸出結(jié)果為:小王0000

name3 = namerjust(6, '0')

print(name3)? ? ? ? ? ? ? ? 輸出結(jié)果為:0000小王

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末绍移,一起剝皮案震驚了整個(gè)濱河市痊臭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌登夫,老刑警劉巖广匙,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異恼策,居然都是意外死亡鸦致,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門涣楷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來分唾,“玉大人,你說我怎么就攤上這事狮斗≌狼牵” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵碳褒,是天一觀的道長(zhǎng)折砸。 經(jīng)常有香客問我,道長(zhǎng)沙峻,這世上最難降的妖魔是什么睦授? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮摔寨,結(jié)果婚禮上去枷,老公的妹妹穿的比我還像新娘。我一直安慰自己是复,他們只是感情好删顶,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著淑廊,像睡著了一般逗余。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蒋纬,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天猎荠,我揣著相機(jī)與錄音,去河邊找鬼蜀备。 笑死关摇,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的碾阁。 我是一名探鬼主播输虱,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼脂凶!你這毒婦竟也來了宪睹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤蚕钦,失蹤者是張志新(化名)和其女友劉穎亭病,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嘶居,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡罪帖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了邮屁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片整袁。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖佑吝,靈堂內(nèi)的尸體忽然破棺而出坐昙,到底是詐尸還是另有隱情,我是刑警寧澤芋忿,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布炸客,位于F島的核電站,受9級(jí)特大地震影響戈钢,放射性物質(zhì)發(fā)生泄漏嚷量。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一逆趣、第九天 我趴在偏房一處隱蔽的房頂上張望蝶溶。 院中可真熱鬧,春花似錦宣渗、人聲如沸抖所。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)田轧。三九已至,卻和暖如春鞍恢,著一層夾襖步出監(jiān)牢的瞬間傻粘,已是汗流浹背每窖。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留弦悉,地道東北人窒典。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像稽莉,于是被迫代替她去往敵國(guó)和親瀑志。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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