1. 程式人生 > >python 字符類型

python 字符類型

info pac 默認 disjoint 默認值 put format extend python2

數字類型: 復數: x=1+2j #1為實數,2j為虛數 print(x.real) print(x.imag) 可變:值變,id不變,可變==不可hash 不可變:值變,id就變,不可變==可hash print(hash(123)) 數字類型和字符串類型為不可變 字符串類型: 在‘‘,"",‘‘‘ ‘‘‘內定義的一串字符。 mag=‘hello ‘ 1.按索引取值(正向取+反向取):只能取 print=(mag[0]) print=(mag[-1]) 2.切片(顧頭不顧尾,步長)也適用於列表 print(mag[0:4]) #0為首,4為尾 hell print(mag[1:4:2])#1為首,4為尾,2為步長,隔2取一次。 l print(mag[:]) #開始取到結尾 rint(mag[-1::-1]) #倒著取出所有值 3.長度:len print(len(mag)) 等於 print(mag.__len__()) 4.成員運算in和not in print(‘llo‘ in mag) print(‘llo‘ not in mag) 5.移除空白strip:只清除2邊的空字符 password=‘ 123456 ‘ pritn(password.strip()) password=input(‘>>:‘).strip() lstrip(去左)rstrip(去右) 6.切分split user=‘root:x:0:0::/root:/bin/bash‘ res=user.split(‘:‘) #默認以空格分隔 print(res[0]) root path=‘C:\\a\\d.txt‘ print(path.split(‘\\‘,1)) #1為只分隔一次 print(path.rsplit(‘\\‘,1)) #從右向左切 7.循環 mag=‘hel‘ n=0 size=len(mag) while n < size: print(mag[n]) n+=1 for i in mag: print(i) for i in range(0,5,2): print(i) 8.大小寫變化 print(‘Ajisdf‘.lower()) #變小寫 print(‘asdF‘.upper()) #變大寫 9.startswith(以什麽開始),endswith(以什麽結尾) ma=amk thui print(ma.startswith(‘a‘)) print(ma.endswith(‘i‘)) 10.format傳值 print(‘my name is %s age is %s‘ %(‘lx‘,78)) print(‘my name is () age is ()‘ format(‘lx‘,78)) print(‘my name is (x) age is (y)‘ format(y=78,x=‘lx‘)) print(‘my name is (0) age is (1) you love (0)‘ format(‘lx‘,78)) 11.join(和split相反)只用於字符串類型的列表拼接 inct=‘root:x:0:0:/root:/bin/bash‘ l=inct.split(‘:‘) print(‘:‘.join(l)) 12.replsce mag=‘my is koko my is toto my is bubu‘ mag=mag.replsce(‘my‘,‘kawa‘,1) #默認替換所有,1為一次 print(mag) 13.isdigit判斷值為是否為數字類型 password=‘123‘ if password.isdigit(): password=int(password) 14.find,rfind(從右找),index,rindex(查找),count(統計) mag=‘my is ksis‘ print(mag.find(‘is‘)) print(mag.index(‘is‘)) print(mag.count(‘is‘)) 15.center(填充),ljust(左對齊),rjust(右對齊),zfill(用0填充) print(‘hi‘,center(30,‘#‘)) #30個字符,不夠用#填充。 print(‘hi‘,ljust(30,‘#‘)) print(‘hi‘,rjust(30,‘#‘)) print(‘hi‘,zfill(30,‘#‘)) 15.expandtabs print(‘hello\tword‘.cxpandtabs(10)) 16.captalize(首字母大寫),swapcase(大小寫反轉),title(每一個單詞的首字母大寫) print(‘i is kooll‘.catpalize()) 17.is數字判斷 num1=b‘2‘ #bytes num2=u‘4‘ #unicode,python3中無需加u num3=‘二‘ #中文數字 num4=‘IV‘ #羅馬數字 isdigit,(適用bytes,unicode) print(num1.isdigit()) print(num2.isdigit()) print(num3.isdigit()) print(num4.isdigit()) isdecimal,(適用unicode) print(num2.isdigit()) print(num3.isdigit()) print(num4.isdigit()) isnumeric,(適用unicode,中文,羅馬) print(num2.isdigit()) print(num3.isdigit()) print(num4.isdigit()) name=‘mis123‘ print(name.isalnum()) #字符串由字母和數字組成 print(name.isalpho()) #字符串只由字母組成 print(‘print‘.isidentifier()) #判斷關鍵字 print(‘abd‘.islower()) #判斷全是否為小寫 print(‘ASD‘.isupper()) #判斷大寫 print(‘ ‘.isspace()) #判斷空格 print(‘Adj‘.istitle()) #判斷標題,即判斷單詞的首字母大寫 17.列表: 1.按索引取值(正向取+反向取):只能取 2.切片(顧頭不顧尾,步長) 3.長度:len 4.循環 5.成員運算in和not in ... mibs=[‘cc‘,‘aa‘,‘rr‘] print(list[‘kasidhui‘]) #把字符,裝換為列表 在列表後添加: mibs.append(6) 刪除: del mibs[2] mibs.remove(‘cc‘) 刪除並取出結果: resd=mibs.pop(2) #默認從末尾刪 print(reds) 循環列表: for i in mibs: print(i) 在列表內插入: mibs=[‘cc‘,‘aa‘,‘rr‘] mibs.insert(2,‘bb‘) #2為位置數,bb為值 print(mibs) ‘cc‘,‘aa‘,‘bb‘,‘rr‘ 清空列表的值: print(mibs.claer()) 拷貝一個列表: mm=mibs.copy() 統計列表值的個數: print(mm.count(‘aa‘)) 往列表裏加多個值: hh=[‘rt‘,‘ty‘] print(mm.extend(hh)) 返回列表的值的位置: mibs=[‘cc‘,‘aa‘,‘rr‘] print(mibs.index(‘aa‘)) 將列表的值反轉: mibs=[‘cc‘,‘aa‘,‘rr‘] print(mibs.reverse()) [‘rr‘,‘aa‘,‘cc‘] 將列表的值排序: hy=[11,2,8,15] hy.sort() print(hy) [2,8,11,15] print(hy.sort(reverse=True)) [15,11,8,2] x=‘ahoe‘ y=‘v‘ x<y,判斷首字母的排序,a-z從小到大,數字大於字母 18.元組:存多個值,對列表來說,元組不可變(是可以當字典的key的),主要是用於讀 定義:與列表類型對比,只是[]變為() 1.按索引取值(正向取+反向取):只能取 2.切片(顧頭不顧尾,步長) 3.長度:len 4.循環 5.成員運算in和not in ... age=(11,22,33,44) 等於 age=tuple(11,22,33,44) 19.字典:存放多個值,key:value 存取值速度快,無序 定義:key必須是不可變類型(int,float,str,tuple),value可以是任意值 1.按索引取值(正向取+反向取):只能取 2.切片(顧頭不顧尾,步長) 3.長度:len 4.循環 ... info={‘name‘:‘dachui‘,‘age‘:18,‘sex‘:‘xxx‘} 等於 info=dict(age=18,sex=‘xxx‘,name=‘dachui‘) info=dict([(‘name‘,‘dachui‘),(‘age‘,18),(‘sex‘,‘xxx‘)]) info=dict([[‘name‘,‘dachui‘],[‘age‘,18],[‘sex‘,‘xxx‘]]) 創建一個空字典: info={}.fromkeys([‘name‘,‘age‘,‘sex‘],None) #value為None 刪除: info={‘name‘:‘dachui‘,‘age‘:18,‘sex‘:‘xxx‘} print(info.pop(‘name‘)) #沒有默認值 print(info.popitem(‘name‘:‘dachui‘)) key ,value ,鍵值對items() info={‘name‘:‘dachui‘,‘age‘:18,‘sex‘:‘xxx‘} print(info.keys()) #結果不是一個列表 print(list(info.keys())) #結果為一個列表 print(info.values()) #結果不是一個列表 print(list(info.values())) #結果為一個列表 print(info.items()) #結果不是一個列表 print(list(info.items())) #結果為一個列表 案列: 購物車 mas={‘衣服‘:‘200$‘,‘褲子‘:‘2000$‘,‘車‘:‘55555$‘,‘錘‘:‘45454$‘} goods=[] while True: for k in mas: print(k,mas[k]) chice=input(‘商品名:‘).strip() print(chice) if len(chice) == 0 or chice not in mas: print(‘商品名不存在‘) continue while True: num=input(‘購買個數:‘).strip() if num.isdigit(): break goods.append((chice,mag[chice],int(num))) print(‘購物車‘,goods) break 20.集合: 作用:關系運算,去重 定義:{}內用逗號分隔每個元素都必須是不可變類型,無序 1.按索引取值(正向取+反向取):只能取 2.切片(顧頭不顧尾,步長) 3.長度:len 4.循環 5.成員運算in和not in ... l={‘sdf‘,‘dd‘,‘gg‘} k={‘dd‘,‘gr‘,‘eer‘} 交集:& 都存在的值 print(l & k) 合集:| 所有的值,去重的結果 print(l | k) 交叉補集:^ 除了交集以外的值 print(l ^ k) 差集:- 兩個集合相減 print(l - k) 父集,子集: >,>= ,<,<= 父集包含子集 s1={1,2,3,4} #父集 s2={1,2,3} #子集 print(s1 > s2) #Ture 列表轉換為集合: h=[‘a‘,‘b‘,‘c‘,‘a‘,‘a‘] print(seat(h)) difference_update()相減並更新: s1={1,2,3,4} s2={1,2,3} print(difference_update(s2)) discard指定刪除集合的值 remove刪除不在的元素會報錯 isdisjoint兩個集合沒有共同部分時,為真 add,update添加值 ....... 分類: 占用空間:集合<元組<列表<字典 存值個數:只能存一個值(數字,字符串),能存多個值(列表,元組,字典) 可變:列表,字典,集合 不可變:數字,字符串,元組 直接訪問:數字 有序(序類類型):字符串,列表,元組 key值訪問(映射類型):字典 無序:集合,字典 字符編碼 1.字符按照什麽標準存的,就要按照什麽標準解碼,此處的標準指的就是字符編碼 2.unicode--->encode--->gbk 存 gbk---->decode---->uicode 讀 3.python3解釋器默認使用的字符編碼是UTF-8 python2解釋器默認使用的字符編碼是ascii 指定解釋器:#coding:gbk 4.pythone2的str就是python3的bytes python2的Unicode就是python3的str

python 字符類型