python全棧開發-Day3 字串,python-day3字串
python全棧開發-Day3 字串一、按照以下幾個點展開字串的學習
#一:基本使用
1、 用途
#首先字串主要作用途徑:名字,性別,國籍,地址等描述資訊
2、定義方式
在單引號\雙引號\三引號內,由一串字元組成
3、常用操作+內建的方法
#優先掌握的操作:
#1、按索引取值(正向取+反向取) :只能取
#2、切片(顧頭不顧尾,步長)
#3、長度len
#4、成員運算in和not in
#5、移除空白strip
#6、切分split
#7、迴圈
#二:該類型總結
1、存一個值or存多個值
只能存一個值
可以存多個值,值都可以是什麼類型
2、有序or無序
3、可變or不可變
!!!可變:值變,id不變。可變==不可hash
!!!不可變:值變,id就變。不可變==可hash
二、按照上面的問題開始瞭解
字串
#定義:在單引號\雙引號\三引號內,由一串字元組成name='qianduoduo'name="qianduoduo"name='''qianduoduo'''#優先掌握的操作:#1、按索引取值(正向取+反向取) :只能取name="qianzeliang"name[0] #值為"q"name[-1] #值為"g"#2、切片(顧頭不顧尾,步長)name="qianzeliang"name[2:8] #值為“anzeli”name[2:8:2] #值為“azl”#3、長度lenname="qianzeliang"len(name) #值為11#4、成員運算in和not inname="qianzeliang"“q” in name #True"q" not in name #False#5、移除空白stripname=" qianzeliang "name.strip() #值為 qianzeliang#6、切分splitname = "qian:ze:liang"name.split(":") #值為["qian","ze","liang"]#7、迴圈msg='qianduoduo'i=0while True: if i < len(msg): print(msg[i]) i+=1 else: break#需要掌握的操作#1、strip,lstrip,rstrip#2、lower,upper#3、startswith,endswith#4、format的三種玩法#5、split,rsplit#6、join#7、replace#8、isdigit#stripname='*egon**'print(name.strip('*'))print(name.lstrip('*'))print(name.rstrip('*'))#lower,uppername='egon'print(name.lower())print(name.upper())#startswith,endswithname='alex_SB'print(name.endswith('SB'))print(name.startswith('alex'))#format的三種玩法res='{} {} {}'.format('egon',18,'male')res='{1} {0} {1}'.format('egon',18,'male')res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)#splitname='root:x:0:0::/root:/bin/bash'print(name.split(':')) #預設分隔符號為空白格name='C:/a/b/c/d.txt' #只想拿到頂級目錄print(name.split('/',1))name='a|b|c'print(name.rsplit('|',1)) #從右開始切分#jointag=' 'print(tag.join(['egon','say','hello','world'])) #可迭代對象必須都是字串#replacename='alex say :i have one tesla,my name is alex'print(name.replace('alex','SB',1))#isdigit:可以判斷bytes和unicode類型,是最常用的用于于判斷字元是否為"數字"的方法age=input('>>: ')print(age.isdigit())
三、小結
1 、只能存一個值
2 、有序3、 不可變:值變,id就變。不可變==可hash
其他動作(瞭解即可)#1、find,rfind,index,rindex,count#2、center,ljust,rjust,zfill#3、expandtabs#4、captalize,swapcase,title#5、is數字系列#6、is其他#find,rfind,index,rindex,countname='egon say hello'print(name.find('o',1,3)) #顧頭不顧尾,找不到則返回-1不會報錯,找到了則顯示索引# print(name.index('e',2,4)) #同上,但是找不到會報錯print(name.count('e',1,3)) #顧頭不顧尾,如果不指定範圍則尋找所有#center,ljust,rjust,zfillname='egon'print(name.center(30,'-'))print(name.ljust(30,'*'))print(name.rjust(30,'*'))print(name.zfill(50)) #用0填充#expandtabsname='egon\thello'print(name)print(name.expandtabs(1))#captalize,swapcase,titleprint(name.capitalize()) #首字母大寫print(name.swapcase()) #大小寫翻轉msg='egon say hi'print(msg.title()) #每個單詞的首字母大寫#is數字系列#在python3中num1=b'4' #bytesnum2=u'4' #unicode,python3中無需加u就是unicodenum3='四' #中文數字num4='Ⅳ' #羅馬數字#isdigt:bytes,unicodeprint(num1.isdigit()) #Trueprint(num2.isdigit()) #Trueprint(num3.isdigit()) #Falseprint(num4.isdigit()) #False#isdecimal:uncicode#bytes類型無isdecimal方法print(num2.isdecimal()) #Trueprint(num3.isdecimal()) #Falseprint(num4.isdecimal()) #False#isnumberic:unicode,中文數字,羅馬數字#bytes類型無isnumberic方法print(num2.isnumeric()) #Trueprint(num3.isnumeric()) #Trueprint(num4.isnumeric()) #True#三者不能判斷浮點數num5='4.3'print(num5.isdigit())print(num5.isdecimal())print(num5.isnumeric())'''總結: 最常用的是isdigit,可以判斷bytes和unicode類型,這也是最常見的數字應用情境 如果要判斷中文數字或羅馬數字,則需要用到isnumeric'''#is其他print('===>')name='egon123'print(name.isalnum()) #字串由字母或數字組成print(name.isalpha()) #字串只由字母組成print(name.isidentifier())print(name.islower())print(name.isupper())print(name.isspace())print(name.istitle())