2019-07-03-數字類型、字符串、列表及其內置方法

本節知識點總結: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)     #把列表裏面值一個個取出來

相關文章
相關標籤/搜索