day03—python基礎(int,str,bool,list)
阿新 • • 發佈:2018-06-01
class IT name swa case 大寫 size 布爾值 back
1數字int。
數字主要是用於計算用的,使用方法並不是很多,就記住一種就可以: bit_length()
#bit_length() 當十進制用二進制表示時,最少使用的位數 v = 11 11=》1011 data = v.bit_length() print(data)
輸出結果:4
2布爾值bool。
布爾值就兩種:True,False。就是反應條件的正確與否。
數字轉換成bool:
如果數字是0 結果是False
如果數字是非0 結果是True
True 和1的效率問題: 1的效率高.
bool轉int:
int(bool) True => 1
False => 0
字符串轉換成bool bool(str)
空字符串是False. 非空字符串是True
“ ”字符串中有空格,不是非空字符串,輸出True
3字符串str。
3.1、字符串的索引與切片。
索引即下標,就是字符串組成的元素從第一個開始,初始索引為0以此類推。
a = ‘ABCDEFGHIJK‘ print(a[0]) A print(a[3]) D print(a[5]) F print(a[7]) H
正向 從 0 開始,反向 從-1 開始
切片就是通過索引(索引:索引:步長)截取字符串的一段,形成新的字符串(原則就是顧頭不顧腚)。
a = ‘ABCDEFGHIJK‘ print(a[0:3]) print(a[2:5])
print(a[:]) #默認從頭到尾 print(a[0:]) #默認到最後 print(a[0:-1]) #-1就是最後一個 print(a[0:5:2]) #加步長
print(a[5:0:-2]) #反向加步長
print(a[0:20]) #如果右邊的值. 超過了字符串長度. 切到最後
3.2、字符串常用方法。
#captalize,swapcase,title
msg=‘eGon say hi‘ print(msg.capitalize()) #首字母大寫 Egon say hi print(msg.swapcase()) #大小寫翻轉 EgON SAY HI print(msg.title()) #每個單詞的首字母大寫 Egon Say Hi # 內容居中,總長度,空白處填充
a1=‘alex‘ ret2 = a1.center(10,"*") print(ret2) ***alex*** #數字符串中的元素出現的個數。 # ret3 = a1.count("a",0,4) # 可切片 # print(ret3) 1 a2 = "hqw\twu" #\t前面的補全 # 默認將一個tab鍵變成8個空格,如果tab前面的字符長度不足8個,則補全8個,如果tab鍵前面的字符長度大於等於8個小於16個則補全16個,以此類推每次補全8個。 ret4 = a2.expandtabs() print(ret4) hqw wu a4 = "dkfjdkfasf54" #startswith 判斷是否以...開頭 #endswith 判斷是否以...結尾 # ret4 = a4.endswith(‘jdk‘,3,6) # 可切片 # print(ret4) # 返回的是布爾值 True # ret5 = a4.startswith("kfj",2,4) # print(ret5) False #尋找字符串中的元素是否存在 # ret6 = a4.find("fjdk",1,6) # print(ret6) 2 # 返回的找到的元素的索引,如果找不到返回-1 # ret61 = a4.index("fjdk",4,6) # print(ret61) 2 # 返回的找到的元素的索引,找不到報錯。 #split 以什麽分割,最終形成一個列表此列表不含有這個分割的元素。 # ret9 = ‘title,Tilte,atre,‘.split(‘t‘) # print(ret9) [‘‘, ‘i‘, ‘le,Til‘, ‘e,a‘, ‘re,‘] # ret91 = ‘title,Tilte,atre,‘.split(‘t‘,2) #可選擇分割次數 # print(ret91) [‘‘, ‘i‘, ‘le,Tilte,atre,‘]
s = "李嘉誠王健林麻花藤周傑倫"
lst = s.split("李嘉誠王健林麻花藤周傑倫") [‘‘, ‘‘] # 如果原字符串和刀一樣全切割.得到的是兩個空字符串。開頭或者結尾出現刀一樣全切割,一定會出現空字符串。
# lst = s.split("馬雲") [‘李嘉誠王健林麻花藤周傑倫‘] # 如果不存在.得到的是原字符串
# lst = s.split("") empty separator #用空字符串切割,報錯
#format的三種玩法 格式化輸出
print("%s很帥, 你信嗎?" % "我") 我很帥, 你信嗎?
print("{}很帥, {}信嗎?, 不信給你{}錢".format("旭哥", "我們", 100)) 旭哥很帥, 我們信嗎?, 不信給你100錢
print("{1}很帥, {0}信嗎?, 不信給你{2}錢".format("旭哥", "我們", 100)) 我們很帥, 旭哥信嗎?, 不信給你100錢
print("{person1}很帥, {person2}信嗎?, 不信給你{money}錢".format(person1="旭哥", person2="我們", money=100)) 旭哥很帥, 我們信嗎?, 不信給你100
#strip name=‘*egon**‘ print(name.strip(‘*‘)) #去掉左右兩邊的‘*’, ‘*’不寫,默認是空格,strip() print(name.lstrip(‘*‘)) #去掉左邊的‘*’ print(name.rstrip(‘*‘)) #去掉右邊的‘*’ #replace name=‘alex say :i have one tesla,my name is alex‘ print(name.replace(‘alex‘,‘SB‘,1)) #可選擇替換的對象和數量 #is系列 name=‘jinxin123‘ print(name.isalnum()) #判斷字符串是否由字母或數字組成,輸出bool值 print(name.isalpha()) #判斷字符串是否只由字母組成,輸出bool值 print(name.isdigit()) #判斷字符串是否只由數字組成,輸出bool值
print(name.upper()) #變大寫
print(name.lower()) #變小寫
#判斷字符串長度
name=‘jinxin123‘
print(len(name)) 9
day03—python基礎(int,str,bool,list)