本節知識點總結:python
1.整型 int:進制轉換git
2.字符串 str : api
經常使用操做:1.按索引取值app
2.切片學習
3.長度lenspa
4.成員運算 in/not incode
5.去掉字符串兩邊的字符strip,無論中間的orm
6.切分splitblog
7.循環 for索引
須要掌握操做:lower/upper
startswith/endseith
format
join
replace
isdigit
3.列表 list
經常使用操做:1.索引取值
2.切片
3.添加元素:append/insert/extend
4.刪除:del/pop/remove
1、整型(int)
一、用途:存qq號,手機號,不帶字母的身份證等等
二、定義方式:
age = 18 #age = int(18)
# int('1.1') #int只能轉純數字的字符串,像這個有小數點也不行
#進制轉換
#其餘進制轉換十進制
#二進制轉換十進制 0,1
10 # 1*(2**1)+0*(2**0)=2 因此這個轉換變成2
#八進制轉換十進制
235 # 2*(8**2)+3*(8**1)+5*(8**0)
#十六進制轉換十進制
217 # 2*(16**2)+1*(16**1)+7*(16**0)
也能夠使用 int進行轉換
print(int('1100',2)) # '1100' 二進制轉換成十進制
print(int('14',8)) # '14' 八進制轉換成十進制
print(int('c',16)) # c 十六進制轉換成十進制
這裏int能夠傳第二個參數,表示的是第一個參數想要從什麼進制轉換成十進制
#十進制轉換成其餘進制
#十進制轉二進制
print(bin(12)) #0b1100 0b表示後面的數字是二進制數
#十進制轉八進制
print(oct(12)) #0o14 0o表示後面的數字是八進制數
#十進制轉十六進制
print(hex(12)) #0xc 0x表示後面的數字是十六進制數字
總結:1.存一個值
2.無序(由於不能夠用索引取值)
3.不可變類型數據
區別可變類型和不可變類型:
可變類型:在值改變的狀況下,id不變,說明你的值是原值 不可hash
不可變類型:在值改變的狀況下,id也改變 可hash
2、浮點型 float
1.做用:表示薪資,體重能夠使用
2.定義: salary = 1.1 #salary = float(1.1)
3、字符串 str
1.做用:描述性信息,名字,自我介紹等文字
2.定義: name = 'old boy'
3.經常使用操做+內置方法
須要學習的
1.按索引取值(正向取+反向取) 只能取
s = 'oldboy areok'
print(s[3]) 索引值從0開始,3的值是b
2.切片(左閉右開,步長) #從一個大的字符串中截取一段小的字符串
正向
print(s[:]) #這樣寫一個冒號就是從頭取到尾
print(s[0:5]) #oldbo
print(s[0:6:2]) #odo 默認步長是1,這裏寫2就是隔一個取一個
反向
print(s[-1]) #k -1就是指最後一個字符
print(s[0:5:-2]) #這裏取不到值,由於從0開始-2方向沒有值 切片默認方向是從左向右
print(s[5:0:-1]) #yobdl 遵循左閉右開,從索引5開始取值,索引0取不到,方向向左
print(s[-1:-10:-1]) #koera yob 空格也算字符
3.長度len:統計字符串中字符的個數
s = 'oldboy areok'
print(len(s)) #12 包括空格在內,從1開始
4.成員運算 in 和not in :判斷一個子字符串是否存在於一個大的字符串中
返回值是True 或者False
print('old' in 'oldboy areok') #True
print('jason' in 'oldboy areok') #False
5.strip去掉字符串左右兩邊的空格,無論中間的
strip()默認去除字符串收尾的空格,也能夠設置去掉其餘字符
name = ' old boy ' print(name.strip()) #old boy #若是這個字符串首尾是$,在strip中寫$ name1 = '$$$$old boy$$$$' print(name1.strip('$')) #old boy #去除首尾的這些字符 name1 = '#$%^old boy*&(' print(name1.strip('#$*&')) #%^old boy*&( #這個必定要寫到開頭和結尾的字符,纔會去掉 name1 = '#$%^old boy*&(' print(name1.strip('#$%&(')) #^old boy*
還分爲左去除和右去除
name2 = '$$$$jason$$$$' print(name2.lstrip('$')) #jason$$$$ print(name2.rstrip('$')) #$$$$jason
6.切分split:將一個字符串按照特殊的字符切割組成列表
split切割出來就是一個列表,默認是從左往右切割
data = 'joso n|1o3| handsome' print(data.split('o')) print(data.split('o',1)) print(data.rsplit('o',1)) # ['j', 's', ' n|1', '3| hands', 'me'] #根據o來切割整個字符串 # ['j', 'so n|1o3| handsome'] #從左往右切割一個 # ['joso n|1o3| hands', 'me'] #rsplit從右往左切割一個
7.循環 (把字符一個個循環取出來)
for i in data:
print(i)
須要掌握的:
1.strip,lstrip,rstrip(去除字符串先後兩邊的字符,中間的無論)
2.lower,upper (所有變成小寫和所有變成大寫)
#lower 所有變成小寫 name = 'OlD boY' print(name.lower()) #old boy #upper 所有變成大寫 print(name.upper()) #OLD BOY
3.startswith,endswith (判斷字符串是不是以什麼開頭,結尾,返回True或者False)
name = 'OlD boY' print(name.startswith('O')) #True print(name.endswith('y')) #False
4.format的三種玩法 (format能夠作格式化輸出) '{}{}'.format('aa','bb')
第一種 按位置佔位 跟%s原理一致
str = 'my name is {} my age is {}'.format('jason',18)
第二種 按索引佔位 format裏面參數的索引
str1 ='my {0} name is {1} my age {1} is {0}'.format('jason',18)
第三種 指名道姓佔位 (關鍵字傳參)
str2 = 'my {name} name is {age} my age {age} is {name}'.format(name = 'jason',age = 18)
5.split,rsplit 切割成一個列表
6.join #將容器類型中的多個元素(元素必定要是字符串)經過指定字符拼接成一個字符串 ' '.join()
拼接的元素必須是字符串類型 l = ['1','22','44'] print('|'.join(l)) #1|22|44 l2 = {'name':'bb','age':18} print('|'.join(l2)) #name|age
7.replace 替換 replace( old , new,要修改的個數) 第三個參數若是不填就是修改所有。若是你填寫的是1,就從左往右數修改第一個
str = 'my name is ooo age is ooo' res = str.replace('ooo','xxx') #ooo所有替換成xxx res1 = str.replace('ooo','xxx',1) #只替換一個 print(res) #my name is xxx age is xxx print(res1) #my name is xxx age is ooo
8.isdight #判斷字符串中包含是否爲純數字(若是全是數字返回的是True不然返回False)
s= '123ty' print(s.isdigit()) #False
總結:這裏有三種字符串拼接的方法:
1.格式化輸出 %s,%d
2.'{}{}'.format('aa','bb')
3.' '.join(a) #a= ['11','22','33'] a能夠是元組、列表、字典等能夠循環的,可是裏面的元素要是字符串
須要瞭解的內置方法:
1.find,rfind,index,rindex,count
s = 'kevin is dsb o and kevin is sb' print(s.find('dsb')) # 返回的是d字符所在的索引值 print(s.find('xxx')) # 找不到的時候不報錯返回的是-1 print(s.find('i',0,3)) # 還能夠經過索引來限制查找範圍 print(s.index('o')) # 返回所傳字符所在的索引值 print(s.index('i',0,3)) # 返回所傳字符所在的索引值 print(s.count('n')) # 統計字符出現的次數
find 若是沒有查找到索引值就會返回-1,index若是沒有找到索引值就會報錯
2.center/ljust,rjust/zfill
s9 = 'jason' print(s9.center(12,'*')) #設置整個字符串長度爲12,jason加在中間位置,其他用*填滿 print(s9.ljust(40,'$')) #設置整個字符串長度爲40,jason放在左邊,其他用$填滿 print(s9.rjust(40,'$')) #設置整個字符串長度爲40,jason放在右邊,其他用$填滿 print(s9.rjust(40,' ')) #設置整個字符串長度爲40,jason放在右邊,其他用空格填滿 print(s9.zfill(40)) #設置整個字符串長度爲40,jason在右邊,其他用0填滿 結果: ***jason**** jason$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$jason jason 00000000000000000000000000000000000jason
3.expamdtabs
s10 = 'a\tbc'
print(s10.expandtabs(1)) #a bc
4.captalize,swapcase,title
s12 = 'hElLo WoRLD sH10' print(s12.capitalize()) # Hello world 首字母大寫 print(s12.swapcase()) # 大小寫互換 print(s12.title()) # 每一個單詞的首字母大小 結果: Hello world sh10 HeLlO wOrld Sh10 Hello World Sh10
5.is數字系列 (返回的是True或者False)
num1=b'4' #bytes num2=u'4' #unicode,python3中無需加u就是unicode num3='壹' #中文數字 num4='Ⅳ' #羅馬數字 # ''.isnumeric(): unicode,中文數字,羅馬數字 只要是表示數字都識別 print(num2.isnumeric()) print(num3.isnumeric()) print(num4.isnumeric()) # ''.isdecimal(): unicode 只識別普通的阿拉伯數字 print(num2.isdecimal()) print(num3.isdecimal()) print(num4.isdecimal()) # ''.isdigit() :bytes,unicode 一般狀況下使用isdigit就已經知足需求了 print(num1.isdigit()) print(num2.isdigit()) print(num3.isdigit()) print(num4.isdigit())
字符串總結:
1.存一個值
2.有序(由於能夠用索引取值)
3.不可變類型
4、列表 list
1.做用:
記錄存儲多個值,能夠方便取出來
2.定義:用[]表示,用逗號隔開多個任意類型的值 name = ['bb',1,{'name':'aa'}]
list內部原理就是for循環取值,而後一個個塞到列表中
3.經常使用操做+內置方法
1.按索引取值(這個和字符串的用法是同樣的)
l = [1,2,3,4] print(l[0:4:1]) #從索引0到3取值,步長爲1 print(l[0::]) #從索引0開始到最後 print(l[5::-1]) #反方向取值 步長也是1 結果: [1, 2, 3, 4] [1, 2, 3, 4] [4, 3, 2, 1]
2.切片(左閉右開,步長)
l =[22,44,55,88,99]
print(l[1:4]) #[44,55,88]
3.添加 append/insert/extend
append (append值能將被添加的數據當成列表的一個元素),默認添加在最後。
l =[22,44,55,88,99] l.append(666) print(l) #[22, 44, 55, 88, 99, 666] l.append([123,678]) print(l) #[22, 44, 55, 88, 99, 666, [123, 678]]
insert(經過索引在任意位置添加元素,insert也能將被添加的數據當成一個元素)
l =[22,44,55,88,99] l.insert(2,333) #把333添加到索引爲2的位置 print(l) l.insert(4,[222,999]) #把列表[22,999]添加到索引爲4的位置 print(l) 結果: [22, 44, 333, 55, 88, 99] [22, 44, 333, 55, [222, 999], 88, 99]
extend(添加容器類型數據,內部原理for循環列表一個個追加到列表的尾部)
l =[22,44,55,88,99] ll = [000,999,888] lll = {'name':'oo','age':17} l.extend(ll) #[22, 44, 55, 88, 99, 0, 999, 888] l.extend(lll) #[22, 44, 55, 88, 99, 'name', 'age'] print(l)
總結:列表有三個添加
1.append(在末尾添加)
2.insert(有兩個參數,一個是要添加的索引位置,一個是要添加的數據)
3.extend(只能添加容器類型數據,就是能夠for循環的)
4.長度 len(l)
5.成員運算in和not in(返回的結果是True或者是False)
6.刪除:
也有三種:del/pop/remove
del 適用於全部的刪除操做,根據索引值刪除
l =[22,44,55,88,99] del l[2] print(l) #[22, 44, 88, 99]
pop 默認刪除最後一個元素,會返回刪除的值
l =[22,44,55,88,99] print(l.pop()) #99
print (l.pop(2)) #刪除索引爲2的元素
remove 刪除指定列表中存在的值
l =[22,44,55,88,99] l.remove(55) print(l) #[22, 44, 88, 99] 刪掉元素55
總結:列表刪除也有三種:
1.del
2.pop
3.remove
7.循環
for i in l:
print(l) #把列表裏面值一個個取出來