07字符串格式及其方法

一.字符串

單雙引號泉蝌,字符串是有序的,但是是不可變的
python中只有這個(gè)概念沒有對應(yīng)的數(shù)據(jù)的類型玄妈,引號里面只有一個(gè)元素的字符串可以看成一個(gè)字符凰荚。

1.普通的字符:

原則上可以通過鍵盤輸入或則從其他地方復(fù)制粘貼的都可以作為字符。
普通字符:在字符串中能過代表符號本身的字符叽讳。(沒有特殊意義和特殊功能的字符)追他。

2.轉(zhuǎn)義字符:

在字符串中有特殊意義和功能的符號的組合,一般是以\開頭的
\n -----換行
\ ------ 表示 引號 本身
\t ----- 表示一個(gè)縮進(jìn)岛蚤,就是一個(gè)tab鍵
\ ------表示一個(gè)反斜桿邑狸,特殊的意義消失
\u四位的16進(jìn)制數(shù)--字符--獲取編碼值對應(yīng)的字符(編碼)--獲取四位十六進(jìn)制數(shù)作為編碼值對應(yīng)的字符。
str6="abc"
abc='st'r'
注意所有的轉(zhuǎn)義字符的長度都是一涤妒。
print("\uaa72")

3阻止轉(zhuǎn)義:

在字符串的最前面加r/R,可以讓當(dāng)前的所有的轉(zhuǎn)義的字符都是失效的单雾,所有的符號都是表示他本身

str=r'\tabc\n\'123'
str2='\tabc\n\'123'
print(str2)

'123
\tabc\n\'123

4字符的編碼:

計(jì)算不能直接存儲字符(符號),只能存儲數(shù)字她紫,為了能夠存儲字符硅堆。
把每一個(gè)字符關(guān)聯(lián)了一個(gè)固定的數(shù)字(這個(gè)固定的數(shù)字就是數(shù)字的編碼)
"a"----存編碼值97
字符和數(shù)字一一對應(yīng)的關(guān)系的表:ASCII碼表,Unicode編碼表(python)
Unicode編碼表是ASCII碼表擴(kuò)展贿讹。
(1)ASCII碼表--在計(jì)算中采用一個(gè)字節(jié)保存一個(gè)字符渐逃,字符包含了所有的字母,數(shù)字和美國常用的符號(128個(gè)字符)民褂。
數(shù)字48開始到57茄菊,0--9 大寫字母的編碼值小于小寫的, 大寫---65到90赊堪,小寫-97--122,范圍0-127
(2)Unicode編碼表---萬國碼
Unicode編碼表:包含了世界上所有的國家所有的語言對應(yīng)的符號面殖。總共有65356個(gè)符號哭廉。
中文的編碼的范圍畜普,4e00 --9fa5
編碼字符:\u4位16進(jìn)制的數(shù)

chr(編碼值)----獲取編碼值對應(yīng)的字符。

ord(字符)---獲取指定字符對應(yīng)的編碼值,返回的是十進(jìn)制的群叶。

:字符串在比較大小的時(shí)候比較的是編碼值得大小吃挑,第一個(gè)大了那就是這個(gè)大不會再比較后面的。
注意:在python 中不同的進(jìn)制之間也是可以比較大小的街立。

二舶衬。字符串的操作。

1.獲取元素赎离。

(1)獲取單個(gè)元素
切片逛犹,遍歷,字符串[下標(biāo)]
一個(gè)空格是一個(gè)字符,按tab鍵是四個(gè)字符虽画。
轉(zhuǎn)義字符舞蔽,\t對應(yīng)一個(gè)字符
(2)切片:字符串[開始下標(biāo):結(jié)束下標(biāo):步長]
(3)直接遍歷,通過下標(biāo)遍歷
(4)簡潔的方法:

str="hello ,python"
for i in str:
    print("i",i)

for index,item in enumerate(str):#這個(gè)方法可以獲得元素和下標(biāo)码撰。

print(index,item)

(5)相關(guān)的操作:
1運(yùn)算符:
加法---把兩個(gè)字符串合并在一起產(chǎn)生一個(gè)新的字符串渗柿。原字符串不變,因?yàn)樽址豢勺儭?br> 乘法---重復(fù)出現(xiàn)N次
比較大胁钡骸:字符串1朵栖,字符串2
print("abcdf">"bc")

字符串比較大小比較的是字符串的編碼值的大小。

print("Z">"a")
應(yīng)用:
判斷字母是否是小寫字母:
"a"<=chr<="z"
判斷字符是否是大寫字母:
"A"<=chr<="Z"
判斷是否是字母:
"A"<=char<"Z" or "a"<=chr()<="z"
判斷字符是否是數(shù)字:"0"<=chr<="9"

練習(xí)柴梆,輸入一個(gè)字符串陨溅,判斷這個(gè)字符串是否是中文的字符串

 str3=input("請輸入字符串:")
 for i in str3:
     if 0x4e00<= ord(i) <= 0x9fa5:
             print(i)
     else:
         print("輸入錯誤")

 a=hex(32)
 b=oct(16)
 print(hex(32)>oct(16))
str3 = input("請輸入字符串:")
for i in str3:
    if chr(0x4e00)<= i <= chr(0x9fa5):
            print(i)
    else:
        print("輸入錯誤")

value = input("請輸入:")
for i in value:
    if not "\u4e00 " <= i <= "9fa5" :
        print("不是中文")
        break
else:
    print("中文")

(6)in not in 操作:
字符串1 in 字符串2 ---判斷字符串2中是否包含字符串1
str2 = "abc123"
str4 = "abc"
print(str4 in str2),結(jié)果是True,
(7)相關(guān)的函數(shù):len,str,sorted,reversed.
len(字符串)----判斷字符串的長度,轉(zhuǎn)義字符的長度是1.空格的長度要注意绍在。
print("")---這個(gè)長度是0门扇,print(" ")---這個(gè)是1
b.str(數(shù)據(jù))---所有的數(shù)據(jù)都能轉(zhuǎn)字符串。直接將原數(shù)據(jù)的打印值加引號偿渡。
c.sorted(字符串)----產(chǎn)生一個(gè)新的列表臼寄。按字符編碼值排序的。(小--到)
srt="123adfsdfaSDFASDFASD"
print(sorted(str))

三.格式化字符串

字符--長度為1的字符串
格式字符串:
1.格式占位符:
a.語法:包含格式占位符的字符串 %(值1卸察,值2脯厨,)
b.說明:
格式占位符:%s(字符串),%d(數(shù)字整型),%f(小數(shù))
格式占位符使用的時(shí)候需根據(jù)類型來對應(yīng)使用。
其實(shí)所有的數(shù)據(jù)都可以用%s來占位坑质。
%-Nd--整數(shù)---可以來約束數(shù)字最后的長度合武,如果不夠后面補(bǔ)空格。+,-數(shù)字N涡扼,稼跳,+在前面補(bǔ)空格,—后面補(bǔ)空格吃沪。
% .Nf-----N是約束小數(shù)點(diǎn)后的位數(shù)汤善。
%f------這個(gè)一般不用,默認(rèn)是保留六位小數(shù)票彪。
本身是多少位就是多少红淡,就用%s
%--固定寫法 ()--固定寫法,如果值是一個(gè)直接省略降铸。 值--除了任何有結(jié)果的表達(dá)式在旱,值得個(gè)數(shù)和類型和前面的占位符的個(gè)數(shù)以及類型保持一致。
%c----字符占位推掸⊥靶可以把字符轉(zhuǎn)為相應(yīng)的數(shù)字
name = "xiaoma"
age = 18
money=234.5686868
print("我叫%s,我%6d歲驻仅,我有%.3f" % (name, age,money))
print("我叫%s,我%6d歲,我有%s" % (name, age,money))
.format

用法一:"...{ }".format(放進(jìn)去)--幾個(gè)大括號就放幾個(gè)值登渣。

print("我叫{},今年{}歲".format("馬羽","18"))

用法二:{N} 從0開始依次增加噪服,分別表示format中第0值第一個(gè)值,胜茧,粘优,,

print("我是{0},今年{1}歲竹揍,我是{2}人").format("馬羽","18","湖南")

用法三:[key]

"{key1},{key2}".format(key1=值1敬飒,key2=值2)
print("我是{name},年紀(jì){age}".format(name="mau",age=18))

用法四:用列表的占位符賦值:

list=[10,20,34,56]
print("{0[0]},{0[1]},{0[2]}".format(list))

用法五:

student={"name":"小明","age":20}
print("{name}今年{age}歲".format(student))#解包

其他的寫法:

print("圓周率:{:.2f}".format(3.1415926))
print("整數(shù):{:0>4d}邪铲。".format(25))#大于前面加芬位,下雨后面加 4個(gè)0
print("整數(shù):{:+>4d}。".format(25))#大于前面加带到,下雨后面加 4個(gè)0
print("{:2%}".format(0.255))

四.字符串的相關(guān)的方法

1字符串.capitalize()--將字符串的首字母變成大寫的字母昧碉。

大寫字母和小寫字母的差值是32
char="a"
print(chr(ord(char)-32))

2 字符串.center(寬度,填充字符)---原字符串在中間

字符串.ljust(寬度揽惹,填充字符)---原字符串在左邊
字符串.rjust(寬度被饿,填充字符)---原字符串在右邊
字符串.zfill(寬度,填充字符)---用0 填充
str2="abc"
print(str2.center(7,"+"))
print(str2.ljust(7,"+"))
print(str2.rjust(7,"+"))
print(str2.zfill(7))

3字符串1.count(字符串2)---統(tǒng)計(jì)字符串1中字符串2出現(xiàn)的次數(shù)搪搏。

str1="what are you doing"
print(str1.count("a"))

4字符串1.count(字符串2狭握,開始下標(biāo),結(jié)束下標(biāo))--在字符串1中統(tǒng)計(jì)字符串2從開始到結(jié)束出現(xiàn)的次數(shù)結(jié)尾取不到疯溺。

str1="what are you doing"
print(str1.count("a",0,3))
str3="abc"
str5="hao are you"#判斷str3是否是str5的結(jié)尾
print(str5[-len(str3):]==str3)

5字符串1.index(查找的字符2)论颅,不存在會報(bào)錯。

6字符串.find(需要查找的字符)囱嫩,不存在是-1

7字符串1.find(字符串2)--獲取字符串2第一次在1出現(xiàn)的位置

8 字符串.join(序列)--將序列中的用字符串連在一起恃疯,序列中的元素必須是字符串。

字典使用這個(gè)方法拼接的是鍵墨闲。
print("+++++".join("abc"))#---前面決定用什么連接
print("+++++".join(["abc""cds"]))#---前面決定用什么連接

9. 字符串.maketrans(),字符串.translate()---字符串替換今妄, 字符串1.replace(字符串2,字符串3)--將字符串1中所有的字符串2都替換成3

str1="what are you doing"
str0=str1.replace("you","me")
print(str0)
字符串1.translate(替換的映射表)
字符串2.maketrans(字符串3)--創(chuàng)建字符串2和字符串3對應(yīng)的映射表
table=str.maketrans("a","的")#將字符串str1中的所有的a 替換成 的
new=str1.translate(table)
print(new)

10切割字符串

"""
字符串.split(字符串2)--將字符串1中的所有的字符串2作為切割點(diǎn)切成多份
"""
qie=str1.split("a")#--切割點(diǎn)不存在了
print(qie)
方法:

數(shù)字:str.isdigit( ) 判斷是否是數(shù)字

字母:str.isalpha( ) 判斷是否是字母

數(shù)字字母的組合:str.isalnum( ) 判斷是否數(shù)字和字母的組合

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鸳碧,一起剝皮案震驚了整個(gè)濱河市盾鳞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瞻离,老刑警劉巖腾仅,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異琐脏,居然都是意外死亡攒砖,警方通過查閱死者的電腦和手機(jī)缸兔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吹艇,“玉大人惰蜜,你說我怎么就攤上這事∈苌瘢” “怎么了抛猖?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鼻听。 經(jīng)常有香客問我财著,道長,這世上最難降的妖魔是什么撑碴? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任撑教,我火速辦了婚禮,結(jié)果婚禮上醉拓,老公的妹妹穿的比我還像新娘伟姐。我一直安慰自己,他們只是感情好亿卤,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布愤兵。 她就那樣靜靜地躺著,像睡著了一般排吴。 火紅的嫁衣襯著肌膚如雪秆乳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天钻哩,我揣著相機(jī)與錄音屹堰,去河邊找鬼。 笑死憋槐,一個(gè)胖子當(dāng)著我的面吹牛双藕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播阳仔,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼忧陪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了近范?” 一聲冷哼從身側(cè)響起嘶摊,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎评矩,沒想到半個(gè)月后叶堆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡斥杜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年虱颗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了沥匈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡忘渔,死狀恐怖高帖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情畦粮,我是刑警寧澤散址,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站宣赔,受9級特大地震影響预麸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜儒将,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一吏祸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧椅棺,春花似錦犁罩、人聲如沸齐蔽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽含滴。三九已至诱渤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間谈况,已是汗流浹背勺美。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留碑韵,地道東北人赡茸。 一個(gè)月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像祝闻,于是被迫代替她去往敵國和親占卧。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

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

  • 一 字符編碼 1.什么是字符串 特點(diǎn):序列联喘,有序华蜒,不可變的。形式:用單引號或者雙引號括起來的任意字符集豁遭。...
    Fly_withbird閱讀 418評論 0 0
  • 1.什么是字符串(str) 字符串是Python內(nèi)置的一種容器型數(shù)據(jù)類型叭喜,不可變但是有序;將單引號或者雙引號作為容...
    聶叔叔呀閱讀 271評論 0 0
  • 字符串和字符 1.什么是字符串(str) 字符串是容器型數(shù)據(jù)類型蓖谢,將''或者""或者''''''或者""""""作...
    KIKIu閱讀 206評論 0 0
  • 一捂蕴、字符串 字符串(str)是容器型數(shù)據(jù)類型譬涡,他是將單引號('')、雙引號("")啥辨、三個(gè)單引號或三個(gè)雙引號('''...
    木_Python閱讀 182評論 0 2
  • 1.什么是字符串 1)字符串是容器型數(shù)據(jù)類型(序列):以單引號或者雙引號作為容器的標(biāo)志昂儒,引號中所有的內(nèi)容都是字符串...
    LI3e0閱讀 254評論 0 0