python 六大數據類型


Number數據類型(int整型  float浮點型  bool布爾型  complex復數類型)

(1)int  整型 (正整形  0  負整型)

  '''var 指代一個變量'''

    

 

  type  用來獲取變量的類型

  id   用來獲取變量所指向那個值的地址

    

 

  三種進制表達最后的結果 均為 int整形類的數據  屬於十進制的結果

    

 

(2)float  浮點型即小數

    它有兩種表達形式:

  

(3)bool  布爾型  (True 真   False假)

   

(4)complex  復數類型

    復數:實數 + 虛數  兩部分構成的

          complex(實數,虛數)  注意:這種表達方式虛數不能加j 即(5,2) 非 (5,2j) 否則會錯

  例:5 + 6j       5  就是實數    6j  就是虛數

    j  若有一個數,它的平方等於-1,那么這個數就是j,科學家認為有,復數代表的是高精度類型.

  表達方式一:

      complexvar = 5 + 6j

      complexvar = 3 - 2j

      print(type(complexvar))

      print(id(complexvar))

   表達方式二:  complex(實數,虛數)

      res = complex(14,2)

      print(res)   => (14,2)

 

容器數據類型(str  字符串型  list  列表型  tuple  元組型  set集合型  dict字典型)

(1)str 字符串型

  '''用引號引起來的就是字符串,三種引號:單引號  雙引號  三引號'''

    轉義字符:\    (1)    把有意義的字符轉變為無意義的字符

              (2)    把無意義的字符轉變的有意義

    \n  或者  \r\n  :  代表"換行"意思

      \t      :   代表"一個縮進"意思

      \r      :   代表將\r后面得所有字符拉到該行首    

 三種引號表達的字符串:

  #  單引號表達字符串   

   

  #  雙引號表達字符串

 

  

 

  #  這兩種情況較為特殊,如果外面是雙引號,里面就要單引號,反之一樣

                     #  非要使用雙引號,使用 \ 進行轉義

 

 

   #  三引號表達字符串  (支持跨行)

  

 

  #  元字符串   r"123"

    '''元字符串可以讓轉義字符失效'''

    

  #  字符串的格式化

  "%d   %f   %s"  語法 : "字符串"  %  (實際值)

   %d  占位符  d代表整型數據

  

  結果:何健翰買了3個充氣娃娃

  

  %f  占位符  f代表浮點型數據  默認保留6位小數點,f前面有數值,則根據數值是多少保留對應小數點

  

  

  %s  占位符  代表字符串 

  

 

(2)list  列表型

       '''特征:可以獲取和修改數據,排列有序'''

  #  列表值的獲取方法如下解釋:

  #  正向下標  從0開始代表第一個數值     1代表第二個數值 往后以此類推
  #  反向下標  從-1開始代表最后一個值  -2代表倒數第二個值 往前以此類推

  #  若是不知道列表的長度 想要快速獲取最后一個值的下標    怎么辦?


  #  用 len 來獲取列表的長度

  #  listvar = ["傻逼",3,3.14,True,False,2-2j,"傻逼",3,3.14,True,False,2-2j]
  #  res = len(listvar)
  #  res2 = len(listvar)-1
  #  print(res2)
  #  print(listvar[res2])

  

列表的修改

  

(3)tuple  元組型 

  '''  特征:可以獲取但不能修改數據,排列有序'''

  '''
  #   tuplevar = () 這是一個空元祖
  #   tuplevar = (1) 這是一個整型
  #   tuplevar = (1,) 這是一個元祖
  #        綜上所述 : 判斷tuplevar = (?)或tuplevar = (?,)這兩種是不是元組,
       取決於里面值是否有逗號,有 就是元組 沒有就是別的數據類型
       空元祖可以使用()來表示
  '''


  #   獲取元組中的數據 : 跟列表list的取值一模一樣 (正向下標,反向下標)


  #   修改元組中的值,不可以修改,會進行報錯

 

  

(4)str    字符串

       strvar = ""


  #   特征:可以獲取,但不可以修改,有序排列

  #   獲取字符串中的數據:跟列表list 元組tuple的取值一模一樣(正向下標,反向下標)

  #   修改字符串當中的值,不可修改,會進行報錯

 

(5)set   集合型

  setvar  =  {}     數據類型顯示是一個dict 字典
  setvar  =  set()     強制轉換成一個空集合的數據類型(只有這一種類型)


  #   特征:不可獲取,也不可以修改,無序排列,自動去掉重復數據

  #   獲取集合當中的數據:不能獲取,會進行報錯

  #   修改集合當中的數據:不可修改,會進行報錯

(6)dict   字典

  dictvar  =  {}

  #   冒號左邊是鍵,右邊是值,鍵值對之間用逗號隔開

  #   特征 : 可以獲取,可以修改,無序排列(python3.6版本看似有序、實則無序
  #   底層,使用了哈希算法,儲存的數據是散列)(3.5版本無序),鍵值對儲存的數據

  #   獲取字典當中的數據:可以獲取,直接輸入冒號左邊的鍵即可取值的數據

  #   修改字典當中的數據:可以修改,直接將要改的值替換掉 鍵 就可實現修改

 

  # 一般在命名字典的鍵時,推薦使用字符串,按照變量命名的字符串.

  

  # 哈希算法
  '''
  定義;把不可變的任意長度值計算成固定長度的唯一值,這個值可正可負,可大可小
  但長度固定,該算法叫哈希算法,這個固定長度值叫哈希值

  特點: 哈洗過的數據儲存時,是一個隨機存放的散列,並不是按照次序依次存放的,
  所以通過哈希算法儲存數據的速度較快

  查找: 字典的鍵就是按照哈希算法算出來的,可以通過該鍵找散列中的對應值,形成
  映射關系,所以集合,字典在本質上都是無序的

  版本:3.6版本之前都無序
  3.6版本之后把字典的字面順序記錄下來,當從內存拿數據的時候,根據字面
  順序重新排列,所以看起來有序,但本質上無序
  '''

 

  "可哈希數據: (不可變的數據)  Number (int float bool complex)" str tuple"

  "不可哈希的數據  (可變的數據)  list set dict"

 

 

  # 自動類型轉換( 針對於Number數據類型來說的 )

  #  規律: 精度從低到高  bool ->  int  ->  float  ->  complex
  #  當兩個不同的數據類型運算時,默認向更高精度轉化

  #  True    轉化成整型是    1          False    轉化成整型是    0


  #  int + float 類型較特殊,最終值會保留小數點后15~18位,因為float在本質上存在精度損耗,

    因為小數的二進制在內存中是無限循環沒有終止,一般截取15~18位

 


   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM