一、字符串
1.什么是字符串
a.使用單引號或者雙引號括起來的字符集就是字符串。
b.引號中單獨的符號或者數(shù)字或者字母等叫做字符。
c.轉(zhuǎn)義字符:可以用來表示一些有特殊功能或者是特殊意義的字符(通過在固定的字符前加)
'-->' , \-->\ , \n-->換行 , \t-->制表符 ,"-->"
轉(zhuǎn)義字符在計算字符串長度,轉(zhuǎn)移字符代表一個字符。
'123'#數(shù)字字符串
'abc'
'#$%^&8sj3'
'中文漢字'
' '
str2='\'
print(str2)#-->\
2.阻止轉(zhuǎn)義
可以通過在字符串前面加r或者R,來阻止轉(zhuǎn)義字符轉(zhuǎn)義。
str1=r'\1\n2'
print(str1)#-->\1\n2
3.python中字符串中的字符是Unicode編碼
Unicode編碼:使用16位對一個字符進(jìn)行編碼。編碼的目的是讓字符可以存儲到計算機(jī)中。
Unicode中包含了ASSCII碼,可以表示世界上所有的語言和符號
a.獲取一個字符的Unicode碼
ord1=ord('余')
ord2=ord('婷')
print(hex(ord1),hex(ord2))#-->0x4f59,ox5a77
b.將unicode碼轉(zhuǎn)換成字符
chr(編碼值)
print(chr(0x4e00))#-->——
字符串比較大小的時候,從字符開始依次往后比較每個字符的大小,直到遇到字符不一樣為止
比較字符大小的時候?qū)嵸|(zhì)是在比較字符的編碼的大小。
print('abc'>'b')#-->False
二、獲取字符串的字符
python的字符,實質(zhì)是一個有序的字符序列。
1.獲取字符串的長度:(長度-->字符串中字符的個數(shù))
len是獲取序列長度的內(nèi)置函數(shù)
count=len('abc\n123')
print(count)# -->7
2.通過下標(biāo)獲取字符串中的某一個字符
字符串中每個字符都對應(yīng)一個下標(biāo)(索引),我們可以通過索引值去獲取固定的字符
'abc'-->a:0,b:0,c:2
str1='abc'
print(str1[0])#-->a
print(str1[2])#-->c
str2='dy\nup'
print(str2[4])#-->p
print(str2[-1])#-->p
下標(biāo)的范圍:0-->字符串長度-1;-1-->-字符串長度
獲取字符的時候,索引值不能超過索引的范圍,否則會報IndexError
3.獲取字符串中的部分字符(切片):
字符串[開始下標(biāo):結(jié)束下標(biāo)]-->獲取字符串中從開始下標(biāo)到結(jié)束下標(biāo)中間的所有字符(包含開始下標(biāo),不包含結(jié)束下標(biāo))
字符串[開始下標(biāo):結(jié)束下標(biāo):步進(jìn)]
字符串[開始下標(biāo):結(jié)束下標(biāo)]===字符串[開始下標(biāo):結(jié)束下標(biāo):1]
a.開始和結(jié)束下標(biāo)都有值:開始下標(biāo)對應(yīng)的字符,要在結(jié)束下標(biāo)對應(yīng)的字符之前(步進(jìn)是正數(shù))
str3='hello python'
print(str3[6:12])#-->python
print(str3[-6:12])#-->python
b.開始下標(biāo)省略:從字符串的最前面取到結(jié)束下標(biāo)前
print(str3[:4])#-->hell
c.結(jié)束下標(biāo)省略:從開始位置獲取到字符串結(jié)束
print(str3[4:])#-->o python
d.兩個都省略:獲取整個字符串的內(nèi)容
print(str3[:])#-->hello python
e.每兩個取一個
print(str3[::2])#-->hlopto
f.(了解)當(dāng)步進(jìn)是負(fù)數(shù)的時候,開始下標(biāo)和結(jié)束下標(biāo)的性質(zhì)相反
print(str3[3:1:-1])#-->ll
print(str3[::-1])#-->nohtyp olleh 字符串倒序
三、字符串運算符
1.+:字符串拼接
字符串1+字符串2
str1='hello'+' '+'python'
print(str1)#-->hello python
注意:+號兩邊要么都是數(shù)字,要么都是字符串,不能是一個數(shù)字一個字符串
2.*:讓字符串重復(fù)
字符串*整數(shù)
str1='abc'*3
print(str1)#-->abcabcabc
3.in
字符串1 in 字符串2:判斷字符串1是否在字符串2中-->在是Ture,不在是False
result='a'in'abc'
print(result)#-->Ture
4. not in
字符串1 not in 字符串2:判斷字符串1是否在字符串2中-->不在就是Ture,在是False
result='123' not in 'abc'
print(result)#-->Ture
5.格式字符串
格式:'占位符1占位符2'%(值1,值2)
str1='abc%s12%s3'%('>>>','<<<')
print(str1)#-->abc>>>12<<<3
%s-->字符串站位(格式符)
%d-->整數(shù)占位符(格式符)
%f-->浮點數(shù)占位符
%c-->長度是1的字符串占位符(字符占位符)
str2='-%s-%d-%f-%c' % ('我是字符串',123,12.4,'k')
print(str2)#-->-我是字符串-123-12.400000-k
%.nf:使用n值限制小數(shù)點后面的小數(shù)的位數(shù)(默認(rèn)六位小數(shù))
str3='金額;%.2f元' % (100)
print(str3)#-->金額;100.00元
如果后面沒有加%,那么這個字符串只是一個普通的字符串
str3='金額L%f元'
print(str3)#-->金額L%f元
6.格式化輸出
name='pxl'
age=18
xx今年xx歲
print('%s今年%d歲' % (name,age))#-->pxl今年18歲
四、字符串相關(guān)方法
字符串相關(guān)方法的通用格式:字符串.函數(shù)()
1.capitalize:將字符串的首字母轉(zhuǎn)換成大寫字母,并且創(chuàng)建一個新的字符串返回
str1='abc'
new_str=str1.capitalize()
print(new_str)#-->Abc
2.center(width,fillchar):將原字符串變成指定的長度并且內(nèi)容居中,剩下的部分使用指定的字符填充
new_str=str1.center(10,'')
print(new_str)#-->**abc****
3.rjust(width,fillchar)
new_str=str1.rjust(10,'*')
print(new_str)#-->*******abc
產(chǎn)生學(xué)號
number=9 #py1805009
str(數(shù)據(jù)):將任何其他的數(shù)據(jù)轉(zhuǎn)換成字符串
num_str=str(number)
print(num_str,type(num_str))#-->9 <class 'str'>
讓字符串變成寬度為3,內(nèi)容右對齊,剩下部分使用'0填充'
num_str=num_str.rjust(3,'0')
print(num_str)#-->009
num_str='py1805'+num_str
print(num_str)#-->py1805009
4.ljust(width,fillchar):左對齊
str2='abc'
new_str2=str2.ljust(6,'&')
print(new_str2)#-->abc&&&
5.字符串1.join(字符串2):在字符串2中的每個字符之間插入一個字符串1
num_str='aaa'.join('bbb')
print(num_str)#-->baaabaaab
五、if語句
if語句
'''
結(jié)構(gòu):
if 條件語句:
條件語句結(jié)果為True執(zhí)行的代碼塊
執(zhí)行過程:先判斷條件語句是否為True,如果為True就執(zhí)行if語句后:后面對應(yīng)的一個縮進(jìn)的所有的代碼。
為False,就不執(zhí)行:后面一個縮進(jìn)中的代碼塊,直接執(zhí)行后續(xù)的其他語句。
條件語句:可以是任何有值得表達(dá)式,但是一般是布爾值
'''
if True:
print('代碼1')
print('代碼2')
print('代碼3')
print('代碼4')#-->代碼1,代碼2,代碼3,代碼4
if False:
print('代碼1')
print('代碼2')
print('代碼3')
print('代碼4')#-->代碼4
練習(xí),用一個變量保存時間(50米短跑),如果時間小于8秒,就打印及格
time=7
if time<8 :
print('及格')#-->及格 (只有條件成立的時候才會執(zhí)行)
print(time)#-->7 (不管if語句的條件是否,這個語句都會執(zhí)行)
'''
if 條件語句:
語句塊1
else:
語句塊2
執(zhí)行過程:先判斷條件語句是否為True,如果為True,就執(zhí)行語句塊1,否則就執(zhí)行語句塊2
'''
練習(xí),用一個變量保存成績,如果成績大于60秒,就打印及格,否則不及格
score=40
if score>=60 :
print('及格')
else:
print('不及格')#--->不及格