您好,登錄后才能下訂單哦!
在?python變量?文章中我們對(duì)python變量做了一個(gè)簡(jiǎn)單的了解,整數(shù)/浮點(diǎn)數(shù)/bool值相對(duì)來(lái)講都比較簡(jiǎn)單,今天詳細(xì)在講解一下關(guān)于字符串的內(nèi)容,字符串俗稱:str。
在本文會(huì)大量的使用print 和format 函數(shù),如果還有不太熟悉使用的盆友,請(qǐng)先預(yù)習(xí):關(guān)于python開發(fā)中print 函數(shù)和format 函數(shù)詳細(xì)解釋
?
介紹兩個(gè)關(guān)于python字符串的運(yùn)算符,”in” 和 “not in”,主要用于檢測(cè)字符串中是否存在某個(gè)字符或者字符串,如果存在返回True,不存在返回False,直接上代碼演示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解憂 @Blog(個(gè)人博客地址): shuopython.com @WeChat Official Account(微信公眾號(hào)):猿說python @Github:www.github.com
@File:string123.py @Time:2019/9/23 20:45 ? @Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累! """ ? # 檢測(cè)單個(gè)字符 str1 = "hello world" if "h" in str1: ????print("{} 字符串包含 'h'".format(str1))??# 注意單引號(hào)和雙引號(hào)的配合使用 else: ????print("{} 字符串不包含 'h'".format(str1)) ? # 檢測(cè)字符串 if "hello" in str1: ????print("{} 字符串包含 'hello'".format(str1))??# 注意單引號(hào)和雙引號(hào)的配合使用 else: ????print("{} 字符串不包含 'hello'".format(str1)) ? # 使用 not in if "hllo" not in str1: ????print("{} 字符串不包含 'hllo'".format(str1))??# 注意單引號(hào)和雙引號(hào)的配合使用 else: ????print("{} 字符串包含 'hllo'".format(str1)) |
輸出結(jié)果:
1 2 3 | hello world 字符串包含 'h' hello world 字符串包含 'hello' hello world 字符串不包含 'hllo' |
?
字符串可以直接拼接,同樣也可以使用format 函數(shù)或者 % 符號(hào)構(gòu)造,代碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # 方法一:兩個(gè)字符串直接相加拼接在一起 str1 = "hello" str2 = "world" str3 = str1 + str2 print("str3 = %s " % str3) print("{} + {} = {}".format(str1,str2,str3)) ? print("**"*20) # 方法二:使用format str4 = "{} {} {}".format("猿說python","python教程","字符串") print("str4 = %s " % str4) str5 = "{2} {1} {0}".format("YOU","LOVE","I")??# 注意使用下標(biāo)索引值,默認(rèn)重0開始 print("str5 = %s " % str5) ? print("**"*20) # 方法三:使用 % 符號(hào) ,% 使用方法與print類似 str6 = "%s%s%s" % ("不積跬步無(wú)以至千里",",不積小流無(wú)以成江海", ?????????????????? ",程序人生的精彩需要堅(jiān)持不懈地積累!") print(str6) |
輸出結(jié)果:
1 2 3 4 5 6 7 | str3 = helloworld hello + world = helloworld **************************************** str4 = 猿說python python教程 字符串 str5 = I LOVE YOU **************************************** 不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累! |
?
可以通過for循環(huán)或者while循環(huán)遍歷字符串中的每一個(gè)字符,在下面代碼中有一個(gè)內(nèi)置函數(shù)len()函數(shù),用于獲取字符串長(zhǎng)度,代碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | str1 = "hello world" print("%s 字符串總長(zhǎng)度:%d" % (str1,len(str1))) # len()獲取字符串長(zhǎng)度 ? #方法一: for i in str1: ????print(i,end="-")??# print 函數(shù)默認(rèn)換行,強(qiáng)制將換行符改為 '-',可以改為任意字符 ???? print("\n") # "\n" 表示換行 print("*"*20) ? #方法二: for i in range(0,len(str1)): ????print(str1[i],end=' ') # 每個(gè)字符以空格隔開 ? print("\n") # "\n" 表示換行 print("*"*20) ? #方法三: a = 0 while a < len(str1): ????print("str[%d] = %s " % (a,str1[a])) ????a += 1 print("程序結(jié)束,退出程序") |
輸出結(jié)果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | hello world 字符串總長(zhǎng)度:11 h-e-l-l-o- -w-o-r-l-d- ? ******************** h e l l o?? w o r l d ? ******************** str[0 = h str[1] = e str[2] = l str[3] = l str[4] = o str[5] =?? str[6] = w str[7] = o str[8] = r str[9] = l str[10] = d 程序結(jié)束,退出程序 |
?
字符串中的每一個(gè)字符都有一個(gè)默認(rèn)的索引值,從左到右默認(rèn)重0開始,依次遞增;從右往左默認(rèn)重-1開始,依次遞增;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | str1 = "猿說python" print(len(str1))????????????# 內(nèi)置函數(shù) len() 獲取字符串長(zhǎng)度 print(str1)???????????????? # 打印字符串 print(str1[2])??????????????# 獲取字符串中的第二個(gè)字符 print(str1[0:2])????????????# 截取字符串索引值為0~1的字符,不包括索引值為2的字符 print(str1[2:5])????????????# 截取字符串索引值為2~4的字符,不包括索引值為5的字符 print(str1[2:-1])?????????? # 截取字符串重索引值為2開始直到字符串結(jié)尾的前一個(gè),-1的索引值表示最后一個(gè) print(str1[2:len(str1)])????# 截取字符串索引值2~8,最后一個(gè)字符的索引值為7,所以剛剛好能截取到字符串末尾 ? # 截取在列表中索引值為0-4的數(shù)據(jù),冒號(hào)前面不設(shè)置參數(shù),默認(rèn)重0開始,注意截取并不包括4 print(str1[:4]) # 截取在列表中索引值為2-末尾的數(shù)據(jù),冒號(hào)后面不設(shè)置參數(shù),默認(rèn)截取到最后一位數(shù)據(jù),注意截取包括最后一位???????????? print(str1[2:])???????????? ? print("程序結(jié)束,退出程序") |
輸出結(jié)果:
1 2 3 4 5 6 7 8 9 10 | 8 猿說python p 猿說 pyt pytho python 猿說py python 程序結(jié)束,退出程序 |
注意:在上面 print(str1[2:-1]) 改行代碼中,-1 表示最后一位字符串索引,但是截取的范圍并不包括字符串的最后一位。
?
1 2 3 4 5 6 7 | ''' 字符串替換方法:替換字符串中指定的內(nèi)容,并返回新的字符串 ????old:字符串中需要被替換的字符或者字符串(舊字符串,原本一直就在字符串) ????new:替換之后的內(nèi)容(新字符串,添加到字符串代替old的內(nèi)容) ''' ? str.replace(old, new) |
1 2 3 4 5 6 7 | str1 = "hello world" str1 = str1.replace("hello","猿說PYTHON") print(str1) ? str1 = "hello world" str1 = str1.replace("world","python 教程") print(str1) |
輸出內(nèi)容:
1 2 | 猿說PYTHON world hello python 教程 |
?
對(duì)字符串進(jìn)行大小寫轉(zhuǎn)換處理
1 2 3 4 5 | str = "www.shuopython.com" print(str.upper())??????????# 把所有字符中的小寫字母轉(zhuǎn)換成大寫字母 print(str.lower())??????????# 把所有字符中的大寫字母轉(zhuǎn)換成小寫字母 print(str.capitalize())???? # 把第一個(gè)字母轉(zhuǎn)化為大寫字母,其余小寫 print(str.title())??????????# 把每個(gè)單詞的第一個(gè)字母轉(zhuǎn)化為大寫,其余小寫 |
輸出結(jié)果:
1 2 3 4 | WWW.SHUOPYTHON.COM www.shuopython.com Www.shuopython.com Www.Shuopython.Com |
關(guān)于字符串的函數(shù)還有很多,由于篇幅有限,后面的文章我們繼續(xù)講解更多關(guān)于python字符串相關(guān)函數(shù)。
?
1.python print 和format詳細(xì)使用教程
2.python變量的簡(jiǎn)單介紹
?
轉(zhuǎn)載請(qǐng)注明:猿說Python???python字符串
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。