2018-09-28day4-字符串(切片、字符串運算)

(補充):字符前面加r/R來阻止轉(zhuǎn)義

字符串

python中可以把字符串看成是一個序列(容器)迄靠,容器中內(nèi)容只能是字符咧虎,每一個字符可以稱為字符串中的元素卓缰。
字符串是一個不可變的序列,有序的(不可變指的是字符串中的每個字符,以及每個字符的位置不可變)

獲取字符串中的單個字符

每一個字符串中的字符都會對應(yīng)一個下標(biāo)征唬,下標(biāo)是根據(jù)字符在字符串中的位置震叮,從前往后依次增加的(第一個是0)

獲取單個字符(下標(biāo)不能越界)

語法:字符串[下標(biāo)] ---> 根據(jù)下標(biāo)獲取字符串中的字符
說明:
字符串:可以是字符串的變量,也可以是字符串值
[]:固定寫法
下標(biāo):0~字符串長度-1鳍鸵; -1 ~ -長度

str3 = 'python'
#p -->0   y -->1  t -->2 h-->3......n -->5
#n -->-1   0 -->-2  h -->-3 t-->-4......p -->-6

切片

獲取部分字符

a.語法:字符串[起始下標(biāo):結(jié)束下標(biāo)] -->獲取字符串中從起始下標(biāo)開始,到結(jié)束下標(biāo)-1的字符
默認步長為1

注意:起始下標(biāo)對應(yīng)的字符一定要在結(jié)束下標(biāo)對應(yīng)的字符前面尉间,否則取不到值偿乖。
str2 = '今天心情也要美美噠'
print(str2[1:-1])
#天心情也要美美

b.語法:字符串[ 起始下標(biāo):結(jié)束下標(biāo):步長] --> 從起始下標(biāo)開始獲取,每步長獲取一個哲嘲,獲取到結(jié)束下標(biāo)前一個為止
步長為正:從前往后取(起始下標(biāo)對應(yīng)的字符要在結(jié)束下標(biāo)對應(yīng)的字符前面贪薪,否則取不到值)
步長為負:從后往前取(起始下標(biāo)對應(yīng)的字符要在結(jié)束下標(biāo)對應(yīng)的字符后面,否則取不到值)

str5 = '海賊王眠副、一拳超人画切、一人之下、進擊的巨人'
print(str5[1:10:2])
#賊囱怕、拳人一
print(str5[10:0:-1])
#人一霍弹、人超拳一、王賊
切片時下標(biāo)可以省略娃弓,省略不同下標(biāo)有不同意義
str3 = '閣下何不同風(fēng)起典格,扶搖直上九萬里'
print(str3[:4])
#閣下何不
print(str3[:4:-1])
#里萬九上直搖扶,起風(fēng)
省略結(jié)束下標(biāo):字符[起始下標(biāo):] ---->從開始下標(biāo)取台丛,取到最后
str3 = '閣下何不同風(fēng)起耍缴,扶搖直上九萬里'
print(str3[-4:])
#上九萬里
str3 = '閣下何不同風(fēng)起,扶搖直上九萬里'
print(str3[-4::-1])
#上直搖扶挽霉,起風(fēng)同不何下閣
str3 = '閣下何不同風(fēng)起防嗡,扶搖直上九萬里'
print(str3[::-1])
#里萬九上直搖扶,起風(fēng)同不何下閣

注意:下標(biāo)可以越界

字符串運算符

字符串支持+侠坎、*和比較運算符

+

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

str4 = '玉樹臨風(fēng)美少年'
str6 = '攬鏡自顧夜不眠'
str7 = ' '
print(str4+str7+str6)
#玉樹臨風(fēng)美少年 攬鏡自顧夜不眠

*

字符串的*號運算符
字符串1 * n -->字符串1重復(fù)n次蚁趁,產(chǎn)生一個新的字符串(n只能是數(shù)字)

str8 = '家有千金,行止由心硅蹦!'
print(str8*3)
#家有千金荣德,行止由心!家有千金童芹,行止由心涮瞻!家有千金,行止由心假褪!

比較運算符

判斷相等
print('abc' == 'abc')(判斷字符串兩邊的值是否相等)
#True
print('abc' != 'ac')
#True

比較大小

從前往后署咽,每個字符的編碼值的大小,如果第一個相等就比第二個直到比到不相同為止 (如果都相等就是True)

print('zabcdef' > 'zbc')
#False
判斷一個字符是否是數(shù)字字符,判斷一個字符是否是字母字符(根據(jù)編碼值比較)
char = '5'
print('0'<=char<='9')
#True          (判斷char是否是數(shù)字字符)
char = 'H'
print('a'<=char<='z' or 'A' <=char<='z')    (判斷判斷char是否是字母字符)
##True

in和not in

字符串1 in 字符串2 --> 判斷字符串1是否在字符串2中(字符串2是否包含字符串1)結(jié)果是布爾值宁否。

print('ab' in 'abc')
#True
print('ab' in 'acd')
#False
print('ab' not in 'abc')
#False
print('ab' not in 'acd')
#True

len()函數(shù)

len是python內(nèi)置函數(shù)窒升,功能是用來獲取序列的長度(容器中元素的個數(shù))
len(序列)
字符串的長度就是字符串中字符的個數(shù)

str9 = '床前明月光\n疑是地上霜!'
print(len(str9))
#12
str9 = r'床前明月光\n疑是地上霜!'
#13
str9 = '你好嗎?\u4eff\u5cff'
print(len(str9))
#6
str9 = '你好嗎慕匠?\u4eff\u5cff'
print(str9[len(str9)-1])
#峿
str9 = '你好嗎饱须?\u4eff\u5cff'
print(str9[-len(str9)])
#你

%(格式字符串)

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

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

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

%s --->字符串
%d --->數(shù)字
%f --->浮點數(shù)
%.nf -->保留小數(shù)點后n位小數(shù)
%e -->用科學(xué)計數(shù)法格式浮點數(shù)
%c -->數(shù)字轉(zhuǎn)字符

nsme = '葉玉'
age = 18
money = 19.699
message = '姓名:%s 年齡:%d 薪資:%.3f' %(nsme,age,money)
print(message)
#姓名:葉玉 年齡:18 薪資:19.699

字符串的內(nèi)建函數(shù)

使用方法:字符串.方法名(參數(shù))
capitalize():將字符串的第一個字符串轉(zhuǎn)換為大寫锅铅,返回一個新的字符串
如果第一個字符不是字母酪呻,就不轉(zhuǎn)換

str1 = 'yeyu'
a = str1.capitalize()
print(a)
#Yeyu
字符串居中

center(width,fillchar)

str1 = '葉玉'
new_str = str1.center(8,'*')
print(new_str)
#***葉玉***
字符串左對齊

ljust(width,fillchar)

str1 = '葉玉'
new_str = str1.ljust(8,'*')
print(new_str)
#葉玉******
字符串右對齊

rjust(width,fillchar)

str1 = '葉玉'
new_str = str1.rjust(8,'*')
print(new_str)
#******葉玉

練習(xí):根據(jù)進班順序,添加學(xué)生號 例如 第一個人學(xué)號就是python0001

num = 99
new = 'python1807'+str(num).rjust(4,'0')
print(new)
#python18070099
字符串1.count(字符串2)-->統(tǒng)計字符串1中字符串2 的個數(shù)
num = 'aaaabbbaaaaa'.count('b')
print(num)
#3
字符串1.endswith(字符串2)-->判斷字符串1 是否以字符串2結(jié)尾
str1 = 'when i was'
print(str1.endswith('was'))
#True
字符串1.startswith(字符串2)-->判斷字符串1 是否以字符串2開頭
str1 = 'when i was'
print(str1.startswith('when'))
#True
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盐须,一起剝皮案震驚了整個濱河市玩荠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌贼邓,老刑警劉巖阶冈,帶你破解...
    沈念sama閱讀 212,185評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異立帖,居然都是意外死亡眼溶,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,445評論 3 385
  • 文/潘曉璐 我一進店門晓勇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來堂飞,“玉大人,你說我怎么就攤上這事绑咱〈律福” “怎么了?”我有些...
    開封第一講書人閱讀 157,684評論 0 348
  • 文/不壞的土叔 我叫張陵描融,是天一觀的道長铝噩。 經(jīng)常有香客問我,道長窿克,這世上最難降的妖魔是什么骏庸? 我笑而不...
    開封第一講書人閱讀 56,564評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮年叮,結(jié)果婚禮上具被,老公的妹妹穿的比我還像新娘。我一直安慰自己只损,他們只是感情好一姿,可當(dāng)我...
    茶點故事閱讀 65,681評論 6 386
  • 文/花漫 我一把揭開白布七咧。 她就那樣靜靜地躺著,像睡著了一般叮叹。 火紅的嫁衣襯著肌膚如雪艾栋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,874評論 1 290
  • 那天蛉顽,我揣著相機與錄音蝗砾,去河邊找鬼。 笑死携冤,一個胖子當(dāng)著我的面吹牛遥诉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播噪叙,決...
    沈念sama閱讀 39,025評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼霉翔!你這毒婦竟也來了睁蕾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,761評論 0 268
  • 序言:老撾萬榮一對情侶失蹤债朵,失蹤者是張志新(化名)和其女友劉穎子眶,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體序芦,經(jīng)...
    沈念sama閱讀 44,217評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡臭杰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,545評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了谚中。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渴杆。...
    茶點故事閱讀 38,694評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖宪塔,靈堂內(nèi)的尸體忽然破棺而出磁奖,到底是詐尸還是另有隱情,我是刑警寧澤某筐,帶...
    沈念sama閱讀 34,351評論 4 332
  • 正文 年R本政府宣布比搭,位于F島的核電站,受9級特大地震影響南誊,放射性物質(zhì)發(fā)生泄漏身诺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,988評論 3 315
  • 文/蒙蒙 一抄囚、第九天 我趴在偏房一處隱蔽的房頂上張望霉赡。 院中可真熱鬧,春花似錦怠苔、人聲如沸同廉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,778評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽迫肖。三九已至锅劝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蟆湖,已是汗流浹背故爵。 一陣腳步聲響...
    開封第一講書人閱讀 32,007評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留隅津,地道東北人诬垂。 一個月前我還...
    沈念sama閱讀 46,427評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像伦仍,于是被迫代替她去往敵國和親结窘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,580評論 2 349

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