1. 程式人生 > >day03—python基礎(int,str,bool,list)

day03—python基礎(int,str,bool,list)

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)