一掌测、字符串
1.什么是字符串
a.使用單引號(hào)或者雙引號(hào)括起來的字符集就是字符串滞伟。
b.引號(hào)中單獨(dú)的符號(hào)或者數(shù)字或者字母等叫做字符辛掠。
c.轉(zhuǎn)義字符:可以用來表示一些有特殊功能或者是特殊意義的字符(通過在固定的字符前加)
'-->' 鹤盒, \-->\ 国章, \n-->換行 懒豹, \t-->制表符 芙盘,"-->"
轉(zhuǎn)義字符在計(jì)算字符串長度,轉(zhuǎn)移字符代表一個(gè)字符脸秽。
'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位對(duì)一個(gè)字符進(jìn)行編碼记餐。編碼的目的是讓字符可以存儲(chǔ)到計(jì)算機(jī)中驮樊。
Unicode中包含了ASSCII碼,可以表示世界上所有的語言和符號(hào)
a.獲取一個(gè)字符的Unicode碼
ord1=ord('余')
ord2=ord('婷')
print(hex(ord1),hex(ord2))#-->0x4f59,ox5a77
b.將unicode碼轉(zhuǎn)換成字符
chr(編碼值)
print(chr(0x4e00))#-->——
字符串比較大小的時(shí)候,從字符開始依次往后比較每個(gè)字符的大小片酝,直到遇到字符不一樣為止
比較字符大小的時(shí)候?qū)嵸|(zhì)是在比較字符的編碼的大小囚衔。
print('abc'>'b')#-->False
二、獲取字符串的字符
python的字符雕沿,實(shí)質(zhì)是一個(gè)有序的字符序列练湿。
1.獲取字符串的長度:(長度-->字符串中字符的個(gè)數(shù))
len是獲取序列長度的內(nèi)置函數(shù)
count=len('abc\n123')
print(count)# -->7
2.通過下標(biāo)獲取字符串中的某一個(gè)字符
字符串中每個(gè)字符都對(duì)應(yīng)一個(gè)下標(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-->-字符串長度
獲取字符的時(shí)候审轮,索引值不能超過索引的范圍肥哎,否則會(huì)報(bào)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)對(duì)應(yīng)的字符,要在結(jié)束下標(biāo)對(duì)應(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.兩個(gè)都省略:獲取整個(gè)字符串的內(nèi)容
print(str3[:])#-->hello python
e.每兩個(gè)取一個(gè)
print(str3[::2])#-->hlopto
f.(了解)當(dāng)步進(jìn)是負(fù)數(shù)的時(shí)候篡诽,開始下標(biāo)和結(jié)束下標(biāo)的性質(zhì)相反
print(str3[3:1:-1])#-->ll
print(str3[::-1])#-->nohtyp olleh 字符串倒序
三榆苞、字符串運(yùn)算符
1.+:字符串拼接
字符串1+字符串2
str1='hello'+' '+'python'
print(str1)#-->hello python
注意:+號(hào)兩邊要么都是數(shù)字,要么都是字符串霞捡,不能是一個(gè)數(shù)字一個(gè)字符串
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-->浮點(diǎn)數(shù)占位符
%c-->長度是1的字符串占位符(字符占位符)
str2='-%s-%d-%f-%c' % ('我是字符串',123,12.4,'k')
print(str2)#-->-我是字符串-123-12.400000-k
%.nf:使用n值限制小數(shù)點(diǎn)后面的小數(shù)的位數(shù)(默認(rèn)六位小數(shù))
str3='金額坐漏;%.2f元' % (100)
print(str3)#-->金額;100.00元
如果后面沒有加%碧信,那么這個(gè)字符串只是一個(gè)普通的字符串
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)建一個(gè)新的字符串返回
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é)號(hào)
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)容右對(duì)齊,剩下部分使用'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):左對(duì)齊
str2='abc'
new_str2=str2.ljust(6,'&')
print(new_str2)#-->abc&&&
5.字符串1.join(字符串2):在字符串2中的每個(gè)字符之間插入一個(gè)字符串1
num_str='aaa'.join('bbb')
print(num_str)#-->baaabaaab
五呈枉、if語句
if語句
'''
結(jié)構(gòu):
if 條件語句:
條件語句結(jié)果為True執(zhí)行的代碼塊
執(zhí)行過程:先判斷條件語句是否為True趁尼,如果為True就執(zhí)行if語句后:后面對(duì)應(yīng)的一個(gè)縮進(jìn)的所有的代碼。
為False猖辫,就不執(zhí)行:后面一個(gè)縮進(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í)辛萍,用一個(gè)變量保存時(shí)間(50米短跑),如果時(shí)間小于8秒悯姊,就打印及格
time=7
if time<8 :
print('及格')#-->及格 (只有條件成立的時(shí)候才會(huì)執(zhí)行)
print(time)#-->7 (不管if語句的條件是否,這個(gè)語句都會(huì)執(zhí)行)
'''
if 條件語句:
語句塊1
else:
語句塊2
執(zhí)行過程:先判斷條件語句是否為True,如果為True,就執(zhí)行語句塊1贩毕,否則就執(zhí)行語句塊2
'''
練習(xí)悯许,用一個(gè)變量保存成績,如果成績大于60秒,就打印及格辉阶,否則不及格
score=40
if score>=60 :
print('及格')
else:
print('不及格')#--->不及格