一憎茂、復(fù)習(xí)
1造虏、字符串(str)
通過雙引號或者單引號引起來的內(nèi)容就是字符串
2峻贮、Unicode編碼
3雹食、轉(zhuǎn)義字符
\n --> 換行
' --->'
\t---> 制表符
\ ---> \
" --->"
二、字符串中的元素
1奇昙、阻止轉(zhuǎn)義(在字符串的最前面可以添加r/R來阻止字符串中的轉(zhuǎn)義字符轉(zhuǎn)義)
2护侮、python中可以把字符串看成是一個序列(容器),容器中內(nèi)容是字符储耐。
每一個字符可以稱為字符串中的元素羊初。字符串是一個不可變的序列,有序(不可變指的是字符串中的每個字符弧岳,以及每個字符的位置不可變)
3凳忙、獲取字符串中的單個字符
語法: 字符串[下標(biāo)] ---> 根據(jù)下標(biāo)獲取字符串中的字符
說明:a.字符串:可以是字符串的變量业踏,也可以是字符串值
b.[]:固定寫法
c.下標(biāo):0~字符串長度-1禽炬; -1~-長度
注意:下標(biāo)是整數(shù)涧卵;下標(biāo)不能越界
python中的每個字符串中字符都會對應(yīng)一個下標(biāo),下標(biāo)是根據(jù)字符在字符串中的位置腹尖,從前往后依次增加的(第一個)
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])
注意:一個空格算一個字符柳恐,一個轉(zhuǎn)義字符算一個字符,一個制表符也是算一個字符
4热幔、獲取字符串中的部分字符(切片)
A乐设、語法:字符串[起始下標(biāo):結(jié)束下標(biāo)] ---> 獲取字符串中從起始下標(biāo)開始,到結(jié)束下標(biāo)前的所有的字符
注意:起始下標(biāo)對應(yīng)的字符要在結(jié)束下標(biāo)對應(yīng)的字符的前面绎巨,否則取不到值
str5 = '同九年近尚,汝何秀!'
print(str5[1:5]) 九年场勤,汝
print(str5[5:-1]) 何秀
B戈锻、語法:字符串[起始下標(biāo):結(jié)束下標(biāo):步長] --> 從起始下標(biāo)開始獲取,每步長獲取一個和媳,獲取到結(jié)束下標(biāo)前為止
步長為正:從前往后取(起始下標(biāo)對應(yīng)的字符要在結(jié)束下標(biāo)對應(yīng)的字符的前面格遭,否則取不到值)
步長為負(fù):從后往前去(起始下標(biāo)對應(yīng)的字符要在結(jié)束下標(biāo)對應(yīng)的字符的后面,否則取不到值)
str5 = '海賊王 留瞳、一拳超人拒迅、一人之下、進(jìn)擊的巨人'
print(str5[1:10:2]) 賊她倘、拳人一
print(str5[10:0:-1]) 一璧微、人超拳..賊
C、切片時下標(biāo)可以省略硬梁,省略不同的下標(biāo)有不同的意義
省略起始下標(biāo):字符串[:結(jié)束下標(biāo)] --->從開頭開始取(注意:這兒開頭可能是第一個字符也可能是最后一個字符)
str6 = '閣下何不同風(fēng)起往毡,扶搖直上九萬里'
print(str6[:4])
print(str6[:4:-1])
省略結(jié)束下標(biāo):字符[起始下標(biāo):] ---> 從開始下標(biāo)取,取完為止
兩個下標(biāo)都拾辛铩:字符[:] ---> 全部取完
注意:切片的時候下標(biāo)可越界
print(str6[0:100]) 閣下何不同風(fēng)起开瞭,扶搖直上九萬里
print(str6[-100:3]) 閣下何
三、字符串運算符
python中的字符串支持+罩息、*和比較運算符
1.字符串的+號運算符
字符串1 + 字符串2 ---> 將字符串1和字符串2拼接在一起產(chǎn)生一個新的字符串
注意:+ 兩邊要么都是數(shù)字嗤详,要么都是字符串,不能一樣一個
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.比較運算符
print('abc' == 'abc') 判斷兩個字符串的值是否相等
print('abc' != 'ab')
比較大胁哉:比較兩個字符串中從前往后每個字符的編碼值的大小办龄,比較到兩個字符不相同為止
print('abcdef' > 'bc')
判斷一個字符是否是數(shù)字字符,判斷一個字符是否是字母字符
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ù)俐填,功能是用來獲取序列的長度(容器中元素的個數(shù))
len(序列)
字符串的長度就是字符串中字符的個數(shù)
print(len('hello')) 5
str5 = '窗前明月光\n疑是地上霜!'
print(len(str5)) 12
四翔忽、格式字符串
字符串的內(nèi)部英融,通過格式站位符來表示字符串中變化的部分,然后在后面用值來填充變化的部分
語法;帶有占位符的字符串 % (給占位符賦值的值)
注意:前面有多少個占位符歇式,后面()中就必須有多少值驶悟。并且值的個數(shù)和值的類型要和前面的占位符一一對應(yīng)
%s ---> 字符串
%d ---> 整數(shù)
%f ---> 小數(shù)
%.nf ---> 保留小數(shù)點后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ù)
如果第一個字符不是字母材失,將不會轉(zhuǎn)換
1.capitalize():將字符串的第一個字符轉(zhuǎn)換為大寫痕鳍,返回一個新的字符串
str1 = 'love'
new_str = str1.capitalize()
print(new_str) Love
2.字符串對齊
a.center(width,fillchar)
b.ljust(width,fillchar)
c.rjust(width,fillchar)
width ---> 長度,新的字符串的總長度 fillchar ---> 剩下部分填充的字符龙巨。 字符就是長度是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)計字符串1中字符串2的個數(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笼呆,返回第一個的開始下標(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)題化:每個單詞首字母大寫恭应,其他字母小寫
8.字符串1.join(字符串2) ---> 將字符串1插入到字符串2中每個字符中間抄邀,產(chǎn)生一個新的字符串
print('aa'.join('xyz')) xaayaaz
六、作業(yè)
1昼榛、個性化消息: 將用戶的姓名存到一個變量中境肾,并向該用戶顯示一條消息。顯示的消息應(yīng)非常簡單胆屿,如“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)整名字的大小寫: 將一個人名存儲到一個變量中非迹,再以小寫环鲤、大寫和首字母大寫的方式顯示這個人名。
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憎兽、名言: 找一句你欽佩的名人說的名言冷离,將這個名人的姓名和他的名言打印出來。輸出應(yīng)類似于下面這樣(包括引號):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,但將名人的姓名存儲在變量famous_person 中亿汞,再創(chuàng)建要顯示的消息瞭空,并將其存儲在變量message 中,然后打印這條消息。
celebrity='韓愈'
str='“事業(yè)無窮年”'
message=celebrity+'曾說過咆畏,'+str
print(message)
5南捂、剔除人名中的空白: 存儲一個人名,并在其開頭和末尾都包含一些空白字符旧找。務(wù)必至少使用字符組合"\t" 和"\n" 各一次溺健。 打印這個人名,以顯示其開頭和末尾的空白钦讳。然后矿瘦,分別使用剔除函數(shù)lstrip() 枕面、rstrip() 和strip() 對人名進(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小王