1. 程式人生 > >python3 變數型別

python3 變數型別

變數型別

數字型別Number

  • 二進位制0b開頭
  • 八進位制0o開頭
  • 十六進位制0x開頭
  • 科學計數法:寫法是用e後面跟整數表示10的指數 例:1.11e-1 = 0.111
  • 複數 虛部用j或J表示

字串型別str

  • 表示字串
    • 單引號
    • 雙引號
    • 三個連續的單引號或雙引號
  • 單引號和雙引號的交替使用
  • 轉義字元 反斜槓和後面跟著的一個或多個字元
  • 不同系統對換行操作的不同表示
    • windows:\n
    • Linux:\r\n
  • 字串的格式化
    • 字串格式化的兩種方式
      • 利用百分號
      • 利用format函式
    • 利用百分號格式化
      • 在字串中,利用%表示一個特殊的含義,表示對字元進行格式化
      • %d:此處應放入一個整數
      • %s:此處應放入一個字串
      • 例如:
        • print(“I am %d years old”%18) -->I am 18 years old
        • print(“I am %s,I am %d years old”%(“zhangsan”, 18)) -->I am zhangsan,I am 18 years old
    • format格式化字串
      • 在使用上和百分號格式化相似,用{}和:替代%,後面用format帶引數完成
      • 例如:
        • str = “I am {0} years old”.format(18) -->I am 18 years old
        • str = “I am {0},I am {1} years old”.format(“zhangsan”, 18) -->I am zhangsan,I am 18 years old

列表list

  • 一組由順序的資料的組合

  • 建立列表

              l = []
              l = [100]
              l = [1, 2, 3]
              l = list()
    
  • 列表常用操作

    • 訪問
      • 使用下標操作(索引)
      • 列表的位置是從0開始
    • 分片操作
      • 對列表進行任意一段的擷取
      • l[開始位置:結束位置]和l[開始位置:結束位置:步數]
      • 擷取範圍包含開始下標的值不包含結束下標的值
      • 正數下標從左往右從0開始到結束 負數下標從開始(負數)到-1結束
      • 正常情況下分片開始下標小於結束下標,如果結束下標要大於開始下標則步數一定為負數(可用此進行列表顛倒)
      • 切片可超標
    • 分片操作是生成一個新的list
      • 內建函式id,負責顯示一個變數或者資料的唯一確定編號
  • del: 刪除命令

              del l[2]
    
    • 運算使兩個列表相連線 * 運算使n個列表相連線
  • 列表內涵: list content

    • 通過簡單方法創作列表

            l = l[0, 1, 2]
            ll = [i for i in l]
            ll = [i*2 for i in l if i != 0]
      
  • 關於列表的常用函式

    • len 求列表長度

    • max 求列表中的最大值

    • min 求列表中的最小值

    • list 將其他格式資料轉換成list

    • append 插入一個於末尾

    • insert 指定位置插入

      • insert(index, data) index位置 data資料
    • pop 取出列表最後一個元素

    • remove 刪除列表中指定值的元素

      • 如果被刪除的值沒在列表中則報錯
      • 即,刪除列表指定的值操作應用try…excepty語句,或進行先行判定
    • clear 清空

    • reverse 翻轉列表內容

    • extend 將一個列表拼接在後一個上

            a = [1, 2]
            b = [3, 4]
            a.extend(b)
      
            a --> [1, 2, 3, 4]
      
    • count 查詢列表中指定值或元素的個數

    • copy 拷貝,淺拷貝

      • 淺拷貝只拷貝一層,內部巢狀的列表依然和原列表內對應的列表指向同一個地址

元組tuple

  • 元組可以看成是一個不可更改的list

  • 元組建立

              t = ()
              t = (1, )
              t = 1,
              t = (1, 2, 3)
    
              l = [1, 2, 3, 4]
              t = tuple(l)
    
  • 元組的特性

    • 是序列表,有序
    • 元組資料值可以訪問,不可修改
    • 元組資料可以是任意型別
    • 基本具有list出可修改外的特性和操作,比如索引,分片,序列相加,相乘,成員資格操作等
      • 運算與列表同理
  • 關於元組的函式

    • len max min 與列表相似
    • tuple 轉化或建立元組
    • 其餘與列表基本相似
  • 兩個變數交換值

    • a, b = b, a

字典Dictionary

  • 字典是一種組合資料,沒有順序的組合資料,資料以鍵值對形式出現

  • 字典的建立

              d = {}
              d = dict()
              d = {"one":1, "two":2, "three":3}
              d = dict({"one":1, "two":2, "three":3})
              d = dict(one=1, two=2, three=3)
              d = dict( [("one",1), ("two",2), ("three",3)])
    
  • 字典的特徵

    • 字典是序列型別,但是是無序序列,所以沒有分片和索引
    • 字典中的資料每個都有鍵值對組成,即kv對
      • key: 必須是可雜湊的值,比如int,string,float,tuple, 但是,list,set,dict 不行
      • value: 任何值
  • 訪問資料

    • 用 key 訪問
  • 成員檢測

    • for i in d, i 為 key ,d為字典
    • for i in d.keys()
    • for i in d.values()
    • for k, v in d.items() k, v分別為鍵和值
  • 字典生成式

    • dd = {k:v for k, v in d.items()}
  • 字典相關函式

    • 通用函式: len max min dict

    • str(字典) 返回字典字串格式

    • clear 清空字典

    • items 返回字典的鍵值對組成的元組格式

    • keys 返回字典的鍵組成的一個可迭代結構

    • values 返回字典的值組成的一個可迭代結構

    • get 根據指定鍵返回相應的值,可設定預設值

      • d.get(鍵, 預設值) 當沒有相應的鍵值對的時候則會返回預設值
    • fromkeys 使用指定的序列作為鍵,使用一個值作為字典的所有鍵的值

            l = ["one", "two", "three"]
            #注意fromkeys兩個引數的型別
            #注意fromkeys的呼叫主體
            d = dict.fromkeys(l, "num")
      

集合set

  • 一堆確定的無序的唯一的資料,集合中每一個數據成為一個元素

  • 集合的定義

              s = set()
              s = {1, 2, 3} #大括號內必須有值,否則是dict型別
    
  • 集合的特徵

    • 集合內資料無序,即無法使用索引和分片
    • 集合內部資料元素具有唯一性,可以用來排除重複資料
    • 集合內的資料,str, int, float, tuple,冰凍集合等,即內部只能放置可雜湊資料
  • 集合的函式

    • len,max,min: 基本一致
    • set 生成一個集合
    • add 向集合內新增元素
    • clear 清空
    • copy 拷貝
    • remove 移除指定的值,如不存在報錯
    • discard 移除集合中指定的值,如不存在不報錯
    • pop 隨機刪除一個元素
  • 集合函式

    • intersection: 交集
    • difference:差集(可用-號運算)
    • union: 並集子
    • issubset: 檢查一個集合是否為另一個集
    • issuperset: 檢查一個集合是否為另一個超集
  • frozen set:冰凍集合

    • 冰凍和就是不可以進行任何修改的集合
    • frozenset是一種特殊集合