1. 程式人生 > >python學習筆記之資料型別、字元編碼、檔案處理

python學習筆記之資料型別、字元編碼、檔案處理

   

1、資料型別

  1、數字(int,float)

    整形(int):定義 age=20  #本質age=int(20)

    浮點型別:salary=3000.3 #本質salary=float(3000.3)

    還有不常用的長整型、複數。

  2、字串

    定義:在單引號\雙引號\三引號內,由一串字元組成

    name = “hardykay”

    1、按索引取值(正向取+反向取) :只能取

    

    2、切片

      格式:name[開頭:結尾:步長],注意是包頭不包尾。

      

    3、求長度 len

      

    4、in和not in

      

     5、移除空白strip

        

       當然還有lstrip,rstrip,這跟left和right有關,手動試試吧!

    6、切分split

    

    7、迴圈

      

   8、需要掌握的操作

    a、strip,lstrip,rstrip                              去空白
    b、lower,upper                                   字母大小寫
    c、startswith,endswith       檢查
    d、format的三種玩法       http://www.cnblogs.com/JackLi07/p/9832137.html
    e、split,rsplit                                       分割
    f、join              用於將序列中的元素以指定的字元連線生成一個新的字串。
    g、replace            把字串中的 old(舊字串) 替換成 new(新字串),如果指定第三個引數max,則替換不超過 max 次。
    h、isdigit             如果字串只包含數字則返回 True 否則返回 False。

    9、練習

    

# 寫程式碼,有如下變數,請按照要求實現每個功能
name = " aleX"
# 1)    移除 name 變數對應的值兩邊的空格,並輸出處理結果
name = ' aleX'
a=name.strip()
print(a)

# 2)    判斷 name 變數對應的值是否以 "al" 開頭,並輸出結果
name=' aleX'
if name.startswith(name):
    print(name)
else:
    print('no')

# 3)    判斷 name 變數對應的值是否以 "X" 結尾,並輸出結果
name=' aleX' if name.endswith(name): print(name) else: print('no') # 4) 將 name 變數對應的值中的 “l” 替換為 “p”,並輸出結果 name=' aleX' print(name.replace('l','p')) # 5) 將 name 變數對應的值根據 “l” 分割,並輸出結果。 name=' aleX' print(name.split('l')) # 6) 將 name 變數對應的值變大寫,並輸出結果 name=' aleX' print(name.upper()) # 7) 將 name 變數對應的值變小寫,並輸出結果 name=' aleX' print(name.lower()) # 8) 請輸出 name 變數對應的值的第 2 個字元? name=' aleX' print(name[1]) # 9) 請輸出 name 變數對應的值的前 3 個字元? name=' aleX' print(name[:3]) # 10) 請輸出 name 變數對應的值的後 2 個字元? name=' aleX' print(name[-2:]) # 11) 請輸出 name 變數對應的值中 “e” 所在索引位置? name=' aleX' print(name.index('e')) # 12) 獲取子序列,去掉最後一個字元。如: oldboy 則獲取 oldbo。 name=' aleX' a=name[:-1] print(a)
練習

  3、列表

    my_list=['alex','wupeiqi','yuanhao',4,5] #本質my_list=list([...])

    1、按索引存取值(正向存取+反向存取):即可存也可以取
      

                     

   很多功能跟字串類似,字串本質上就是一個比較特殊的列表。

    2、刪除

      

    3、del、pop、remove的區別

      a、del能刪除任何東西,pop和remove只能操作列表字典等

      b、del和pop刪除是已知道key,不需要知道value。remove是通過value刪除的

      

 

   4、元組

    與列表型別比,只不過[]換成()

    a = (1,2,3,4),元組是不可變的。

  5、字典

    作用:存多個值,key-value存取,取值速度快

    定義:key必須是不可變型別,value可以是任意型別

    

info={'name':'egon','age':18,'sex':'male'} #本質info=dict({....})
或
info=dict(name='egon',age=18,sex='male')
或
info=dict([['name','egon'],('age',18)])
或
{}.fromkeys(('name','age','sex'),None)

    其他操作都一樣,不談了,談點不一樣的。

    1、鍵keys()

      

 

    2、值values()

      

 

    3、鍵值對items()

      

  6、集合

    集合跟列表幾乎一樣,唯一不同在於,集合沒有重複值,因此,列表去重可以使用集合來做。除了去重,還有一個極其重要的作用,那就是運算。還有就是集合使用{}或者set()

    

 

   7、總結

     數字

       字串

    集合:無序,即無序存索引相關資訊
    元組:有序,需要存索引相關資訊,不可變
    列表:有序,需要存索引相關資訊,可變,需要處理資料的增刪改
    字典:無序,需要存key與value對映的相關資訊,可變,需要處理資料的增刪改

 

 

2、字元編碼

     

 

 

 

 

3、檔案處理