標籤:大小寫 split() welcome div 尋找 刪除前後空格 this com obb
資料類型
int數字類型:bit_length():計算數字二進位位元
i = 2print(i.bit_length()) 值為2 二進位00000010i = 5print(i.bit_length()) 值為3 二進位00000101
bool布爾值:int ----->bool 只要是0 ----》False 非0就是True
i = 3b = bool(i)print(b)
bool----> int
True 1False 0i = int(True)print(i) 值為1
ps:while True: passwhile 1: 效率高 passstr --->bool
s = "" -----> False非Null 字元串都是Trues = "0" -----> True
sif s:print(‘你輸入的為空白,請重新輸入‘)else:pass
字串索引與切片對字串的任何操作都會形成一個新的字串,跟以前的沒關係 s = ‘ABCDLSESRF‘#索引
s1 = s[0]print(s1)As2 = s[2]print(s2)Cs3 = s[-1]print(s3)Fs4 = s[-2]print(s4)R
切片 :
顧頭不顧尾,尾需要加1
s = ‘ABCDLSESRF‘s5 = s[0:4]print(s5)#ABCD
s6 = s[0:-1]print(s6)#ABCDLSESR
s7 = s[:] #s7和s8效果一樣,取完後邊什麼都不寫s8 = s[0:]print(s7,s8)#ABCDLSESRF ABCDLSESRF
s9 = s[0:0]#空
步長:
s = ‘ABCDLSESRF‘ # s[首:尾:步長]s10 = s[0:5:2] #隔兩個取一次print(s10)#ACLs11 = s[4:0:-1]print(s11) #LDCBs12 = s[3::-1]print(s12) #DCBAs13 = s[3::-2]print(s13)#DB
倒著取
s = ‘ABCDLSESRF‘s13 = s[-5:-1] #表示從-5到-1的截取顯示print(s13)#SESRs14 = s[-1::-1] #表示以-1開頭,一直到開始結束,每次以-1的形式顯示print(s14)#FRSESLDCBAs15 = s[::-1] #表示全部截取,以-1的形式顯示,每次顯示-1個print(s15)#FRSESLDCBA
字串的操作大小寫系列大小寫對數字沒有影響capuitalize()
# 字串第一個字母大寫
s = ‘arthur‘s1 = s.capitalize() print(s1)
#Arthur
title() #每個隔開(非字母)的單字首大寫
s = ‘my +na7me,is*authur‘print(s.title())#My +Na7Me,Is*Authur
upper()
全大寫
s = ‘my name is Authur 7 周日‘ print(s.upper())
#MY NAME IS AUTHUR 7 周日 #字母和中文是不受影響的
lower()全小寫
s = ‘MY NAME IS AUTHUR 7 周日‘print(s.lower())#my name is authur 7 周日
使用例子
輸入驗證碼時,不分大小寫
s_str= ‘acEQ1‘you_input =input(‘請輸入驗證碼,不區分大小寫: ‘)if s_str.upper() == you_input.upper(): print(‘輸入成功‘)else: print(‘請重新輸入‘)
swapcase()
大小寫翻轉
s = ‘mY nAme iS aUTHUR‘print(s.swapcase())
#My NaME Is Authur
填充center() 置中,預設填充空格,可指定填充符號
s = ‘Authur‘
print(s.center(20,‘+‘)) #~號是填充位,不填預設是空格,20位左右表示左右加起來填充20位
#+++++++Authur+++++++
expandtabs() 加\t,如果字串中有\t,字串前的字元不足八位,補齊八位,如果前面的字串滿足八位,再補八位
s = ‘authur\tsir‘
print(s.expandtabs()) #結果為authur sir #所以意味著\t補了三位
s = ‘authuris\tsir‘
print(s.expandtabs()) #結果為authuris sir #所以意味著\t補了八位,因為前面的字串已經滿足八位
尋找判斷類len()測試字串的長度,公用方法,字串可以用,列表和元祖也可以用
s = ‘authur‘print(len(s))#6
startswith()以什麼開頭,可切片
s = ‘authur‘print(s.startswith(‘aut‘,0,5)) #預設開始和結尾不寫是判斷全部
#True
endswith()以什麼結尾,可切片
s = ‘Authur‘print(s.endswith(‘t‘,0,3)) #預設什麼都不寫是判斷全部,判斷選定範圍內的尾部是否為指定字串結尾
#True
find()通過元素找索引,找不到返回-1,區分大小寫,找單詞時按照第一個單詞的索引位置返回數字,可切片,預設全部尋找
s = ‘authur‘print(s.find(‘t‘,0,4))
#2
index()通過元素找索引,和find使用方法相同,但是找不到報錯 刪除指定符號strip預設刪除前後空格,可以添加填充符,例如特殊符號或字母等,也可以添加多個
s = ‘* 7authur # ‘print(s.strip(‘* 7#‘))
#authur
使用例子
username = input(‘請輸入名字:‘).strip().lower()if username ==‘authur‘: info =‘‘‘ **************************** **welcome {}‘s cnblogs** ****************************‘‘‘.format(‘authur‘) print(info)rstrip 預設刪除右邊空格,使用方法和strip一樣lstrip 預設刪除左邊空格,使用方法和strip一樣 count() 統計指定字元的出現次數,可以切片
s = ‘authur‘print(s.count(‘u‘,0,3))
#1
轉換split() 字串轉換為列表將字串按照規定拆分為列表,預設不輸入內容為空白格,選定以什麼字元或者符號分割,則選定的會消失
s = ‘Arthur:this:my:name‘l = s.split(‘:‘)print(l)
#[‘Arthur‘, ‘this‘, ‘my‘, ‘name‘]
格式化輸出format()
format的三種玩法 格式化輸出s = ‘我叫{},今年{},愛好{},再說一下我叫{}‘.format(‘authur‘,18,‘python‘,‘authur‘)print(s)name = input(‘請輸入名字:‘)s = ‘我叫{0},今年{1},愛好{2},再說一下我叫{0}‘.format(name,18,‘python‘)print(s)name = input(‘請輸入名字:‘)s = ‘我叫{name},今年{age},愛好{hobby},再說一下我叫{name}‘.format(age=18,name=name,hobby=‘python‘)print(s)替換replace()
s = ‘my name is xiyangyang and xiyangyang‘print(s.replace(‘xiyangyang‘,‘authur‘,1))
#my name is authur and xiyangyang
is系列傳回值為True和False
#字串由字母或數字組成print(name.isalnum())#字串只由字母組成print(name.isalpha())#字串只由數字組成print(name.isdigit())
python資料類型