Python3的基本數據類型

2.1. Python3中六個標準的基本數據類型:

    • Number(數字)
    • String(字符串)
    • Sets(集合)
    • Tuple(元組)
    • List(列表)
    • Dictionary(字典)

2.2. Python3中六個標準的基本數據類型中:

    • 不可變數據(四個):Number(數字)、String(字符串)、Sets(集合)、Tuple(元組)
    • 可變的類型(兩個):List(列表)、Dictionary(字典)

2.3. Number(數字)

    • Pyhton3支持 int、float、bool、complex(複數)。
    • 在Python3中,只有一種整數類型,爲長整型,Python2中有兩種:整型和Long
    • Python中type()函數能夠用來查詢變量所指的對象類型
    • 1
      2
      3
      4
      5
      a, b, c, d = 2 , 3.5 , True , 5 + 2j 
      print ( type (a), type (b), type (c), type (d)) 
         
      輸出結果: 
      < class 'int' > < class 'float' > < class ' bool' > < class 'complex' >

2.4. String(字符串)

    • Python中的字符串用單引號('***')、雙引號("***")、三引號('''***''')或三雙引號("""***""")括起來,使用反斜槓(\)轉義特殊字符html

    • 字符串的截取的語法格式是:變量[頭下標:尾下標], 索引值從0開始,-1爲從末尾的開始位置python

    • 字符串的鏈接符是加號(+),星號(*)表示複製當前字符串,如'abc' * 3,緊跟的數字表示字符串複製的次數shell

    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      str = 'abcde' 
      print ( str )          # 輸出字符串 
      print ( str [ 0 ])       # 輸出字符串第一個字符 
      print ( str [ 0 : - 1 ])    # 輸出第一個到倒數第二個的全部字符 
      print ( str [ 1 : 4 ])     # 輸出從第2個開始到第4個的字符 
      print ( str [ 2 :])      # 輸出從第三個開始的後的全部字符 
      print ( str * 3 )      # 輸出字符串3次 
      print ( str + "fgh" ) # 鏈接字符串 
      print ( '------end------'
         
      輸出結果: 
      abcde 
      abcd 
      bcd 
      cde 
      abcdeabcdeabcde 
      abcdefgh 
      - - - - - - end - - - - - -
    • Python 中使用反斜槓(\)轉義特殊字符,若是不想讓反斜槓轉義,能夠在字符串前面添加一個r,表示原始字符串數據結構

    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      print ( "abcde\fgh" )
       
      輸出結果:
      abcde
      fgh
       
      print (r "abcde\fgh" )
       
      輸出結果:
      abcde\fgh
    • 另外,反斜槓(\)能夠做爲續行符,表示下一行是上一行的延續。也可使用 """...""" 或者 '''...''' 跨越多行。app

      注意,Python 沒有單獨的字符類型,一個字符就是長度爲1的字符串。函數

    • 與 C 字符串不一樣的是,Python 字符串不能被改變。向一個索引位置賦值,好比word[0] = 'm'會致使錯誤。測試

2.5. Sets(集合)

    • 集合(set)是一個無序不重複元素的序列。spa

    • 基本功能是進行成員關係測試和刪除重複元素。命令行

    • 可使用大括號 { } 或者 set() 函數建立集合。code

    • 注意:建立一個空集合必須用 set() 而不是 { },由於 { } 是用來建立一個空字典。

    • 建立格式:

    • 1
      2
      3
      parame = {value1, value2, ...}
      set (value)
    • 實例:
    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      student = { 'Alex' , 'Jim' , 'Tom' , 'Mary' , 'Alex' , 'Jack' }
      print (student) # 輸出集合,重複的元素被自動去掉
       
      # 成員測試
      if ( 'Tom' in student) :
           print ( 'Tom 在集合中' )
      else :
           print ( 'Tom 不在集合中' )
       
      # set能夠進行集合運算
      a = set ( 'abcdebaeba' )
      b = set ( 'ahbcdm' )
      print (a)
      print (a - b) # a和b的差集
      print (a | b) # a和b的並集
      print (a & b) # a和b的交集
      print (a ^ b) # a和b中不一樣時存在的元素
      print ( '------end------' )
       
      輸出結果:
      { 'Jack' , 'Alex' , 'Jim' , 'Tom' , 'Mary' }
      Tom 在集合中
      { 'd' , 'a' , 'b' , 'c' , 'e' }
      { 'e' }
      { 'd' , 'h' , 'a' , 'b' , 'c' , 'm' , 'e' }
      { 'd' , 'a' , 'b' , 'c' }
      { 'e' , 'm' , 'h' }
      - - - - - - end - - - - - -
    • 例子:

2.6. Tuple(元組)

    • 元組(tuple)與列表相似,不一樣之處在於元組的元素不能修改。元組寫在小括號 () 裏,元素之間用逗號隔開。
    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      tup1 = ()       # 空元組
      tup2 = ( 20 ,)    # 一個元素,須要在元素後添加逗號
      tup2[ 0 ] = 10    # 修改元組元素的操做是非法的
       
      終端錯誤提示:
      Traceback (most recent call last):
         File "<pyshell#1>" , line 1 , in <module>
           tup2[ 0 ] = 10
      TypeError: 'tuple' object does not support item assignment
    • 元組中的元素類型也能夠不相同:
    • 元組與字符串相似,能夠被索引且下標索引從0開始,-1 爲從末尾開始的位置。也能夠進行截取。
    • 其實,能夠把字符串看做一種特殊的元組。
    • 實例:
    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      tuple1 = ( 'abc' , 123 , 1.23 , 'dashen' , 45.6 )
      tuple2 = ( 123 , 'dashen' )
      print (tuple1)          # 輸出完整元組
      print (tuple1[ 0 ])       # 輸出元組的第1個元素
      print (tuple1[ 1 : 3 ])     # 輸出從第2個元素開始到第3個元素
      print (tuple1[ 1 :])      # 輸出從第2個元素開始的全部元素
      print (tuple2 * 3 )      # 輸出3次元組
      print (tuple1 + tuple2) # 鏈接兩個元組
      print ( '------end------' )
       
      輸出結果:
      ( 'abc' , 123 , 1.23 , 'dashen' , 45.6 )
      abc
      ( 123 , 1.23 )
      ( 123 , 1.23 , 'dashen' , 45.6 )
      ( 123 , 'dashen' , 123 , 'dashen' , 123 , 'dashen' )
      ( 'abc' , 123 , 1.23 , 'dashen' , 45.6 , 123 , 'dashen' )
      - - - - - - end - - - - - -
 
    • 雖然tuple的元素不可改變,但它能夠包含可變的對象,好比list列表。
    • 構造包含 0 個或 1 個元素的元組比較特殊,因此有一些額外的語法規則:
    • 1
      2
      tup1 = ()    # 空元組
      tup2 = ( 20 ,) # 一個元素,須要在元素後添加逗號
    • string、list和tuple都屬於sequence(序列)。
    • 注意:
      • 一、與字符串同樣,元組的元素不能修改。
      • 二、元組也能夠被索引和切片,方法同樣。
      • 三、注意構造包含0或1個元素的元組的特殊語法規則。
      • 四、元組也可使用+操做符進行拼接。

2.7. List(列表)

    • List(列表)是 Python 中使用最頻繁的數據類型。
    • 列表能夠完成大多數集合類的數據結構實現。列表中元素的類型能夠不相同,它支持數字,字符串甚至能夠包含列表(所謂嵌套)。
    • 列表是寫在方括號([])之間、用逗號分隔開的元素列表。
    • 和字符串同樣,列表一樣能夠被索引和截取,列表被截取後返回一個包含所需元素的新列表。
    • 列表截取的語法格式以下:
    • 1
      變量[頭下標:尾下標]
    • 索引值以 0 爲開始值,-1 爲從末尾的開始位置。
    • 加號(+)是列表鏈接運算符,星號(*)是重複操做。
    • 實例
    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      list1 = [ 'abc' , 123 , 1.23 , 'dashen' , 45.6 ]
      list2 = [ 123 , 'dashen' ]
      print (list1)          # 輸出完整列表
      print (list1[ 0 ])       # 輸出元組的第1個元素
      print (list1[ 1 : 3 ])     # 輸出從第2個元素開始到第3個元素
      print (list1[ 1 :])      # 輸出從第2個元素開始的全部元素
      print (list2 * 3 )      # 輸出3次列表(list2)
      print (list1 + list2)  # 鏈接兩個列表
      print ( '------end------' )
       
      輸出結果:
      [ 'abc' , 123 , 1.23 , 'dashen' , 45.6 ]
      abc
      [ 123 , 1.23 ]
      [ 123 , 1.23 , 'dashen' , 45.6 ]
      [ 123 , 'dashen' , 123 , 'dashen' , 123 , 'dashen' ]
      [ 'abc' , 123 , 1.23 , 'dashen' , 45.6 , 123 , 'dashen' ]
      - - - - - - end - - - - - -
    • 與Python字符串不同的是,列表中的元素是能夠改變的:
    • 實例
    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      >>> a = [ 1 , 2 , 3 , 4 , 5 , 6 ]
      >>> a[ 0 ] = 7
      >>> a[ 2 : 5 ] = [ 8 , 9 , 10 ]
      >>> a
      [ 7 , 2 , 8 , 9 , 10 , 6 ]
      >>> a[ 2 :] = []    #將對應的元素值置爲[]
      >>> a
      [ 7 , 2 ]
      >>>
    • List內置了有不少方法,例如append()、pop()等等,咱們把這些方法稱爲魔法,後面繼續學。
    • 注意:
      • 一、List寫在方括號之間,元素用逗號隔開。
      • 二、和字符串同樣,list能夠被索引和切片。
      • 三、List可使用+操做符進行拼接。
      • 四、List中的元素是能夠改變的。

2.8. Dictionary(字典)

    • 字典(dictionary)是Python中另外一個很是有用的內置數據類型。
    • 列表是有序的對象集合,字典是無序的對象集合。二者之間的區別在於:字典當中的元素是經過鍵來存取的,而不是經過偏移存取。
    • 字典是一種映射類型,字典用"{ }"標識,它是一個無序的鍵 : 值(key: value)對集合。
    • 鍵(key)必須使用不可變類型,在同一個字典中,鍵(key)必須是惟一的。
    • 實例
    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      dict1 = {}                     #建一個空字典
      dict1[ 'key1' ] = "Python"
      dict1[ 1 ] = "study"
      dict2 = { 'name' : 'shw' , 'age' : 18 , 'home' : 'chongqing' }
      print (dict1[ 'key1' ])         # 輸出鍵爲 'key1' 的值
      print (dict1[ 1 ])               # 輸出鍵爲 1 的值
      print (dict1)                  # 輸出完整的字典dict1
      print (dict2)                  # 輸出完整的字典dict2
      print (dict2.keys())           # 輸出全部鍵
      print (dict2.values())         # 輸出全部值
      print ( '------end------' )
       
      輸出結果:
      Python
      study
      { 'key1' : 'Python' , 1 : 'study' }
      { 'name' : 'shw' , 'age' : 18 , 'home' : 'chongqing' }
      dict_keys([ 'name' , 'age' , 'home' ])
      dict_values([ 'shw' , 18 , 'chongqing' ])
      - - - - - - end - - - - - -
    • 構造函數 dict() 能夠直接從鍵值對序列中構建字典以下:
    • 實例
    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      #終端命令行運行
      >>> dict (name = 'shw' , age = 18 , home = 'chongqing' )
      { 'name' : 'shw' , 'age' : 18 , 'home' : 'chongqing' }
       
      >>> dict ([( 'name' , 'shw' ), ( 'age' , 18 ), ( 'home' , 'chongqing' )])
      { 'name' : 'shw' , 'age' : 18 , 'home' : 'chongqing' }
       
      >>> {x: x * * 3 for x in ( 2 , 3 , 4 )}
      { 2 : 8 , 3 : 27 , 4 : 64 }
    • 字典類型也有一些內置的函數,例如clear()、keys()、values()等等,咱們叫這樣的方法爲魔法。
    • 注意:
      • 一、字典是一種映射類型,它的元素是鍵值對。
      • 二、字典的關鍵字必須爲不可變類型,且不能重複。
      • 三、建立空字典使用 { }

3. Python數據類型轉換

    • 有時候,咱們須要對數據內置的類型進行轉換,數據類型的轉換,你只須要將數據類型做爲函數名便可。
    • 下面的一些內置的函數能夠執行數據類型之間的轉換。這些函數返回一個新的對象,表示轉換的值。
函數 描述

int(x [,base])

將x轉換爲一個整數

float(x)

將x轉換到一個浮點數

complex(real [,imag])

建立一個複數

str(x)

將對象 x 轉換爲字符串

repr(x)

將對象 x 轉換爲表達式字符串

eval(str)

用來計算在字符串中的有效Python表達式,並返回一個對象

tuple(s)

將序列 s 轉換爲一個元組

list(s)

將序列 s 轉換爲一個列表

set(s)

轉換爲可變集合

dict(d)

建立一個字典。d 必須是一個序列 (key,value)元組。

frozenset(s)

轉換爲不可變集合

chr(x)

將一個整數轉換爲一個字符

ord(x)

將一個字符轉換爲它的整數值

hex(x)

將一個整數轉換爲一個十六進制字符串

oct(x)

將一個整數轉換爲一個八進制字符串

相關文章
相關標籤/搜索