1. 程式人生 > >數值型別和序列型別 Python入門 Python基本資料型別

數值型別和序列型別 Python入門 Python基本資料型別

Python入門

 Python是一門很貼身、智慧的語言。面面俱到、簡單易學,只有你想不到,用上它你會喜歡它的。

學Python並不需要對計算機硬體有太多的瞭解,主要是學習它能替你做什麼,是一門面向物件的語言。

        面向物件:你去下館子,到了飯店吃飯,只需要跟服務員要個選單點好菜,享受完美食跟服務員結好

賬就行,並不需要知道菜是怎麼做的。

        面向過程:你回家做菜,要了解買哪些食材,通過什麼方法烹飪,切成怎麼樣的,什麼火候,放什麼

調料,完全要知道整個過程才能最終食用。

Python基本資料型別

python 3 中,有9種資料型別:

4種數值型別:int float bool complex,3種序列型別:tuple list str,2種雜湊型別:set   dic 

(1).int 整型,不可變

(2).float 浮點型,不可變

(3).bool 布林,True 和 False,不可變

(4).complex 科學計數,實部和虛部組成,如:2+2j,不可變。(不常用)

(5).list 列表,可變

(6).tuple 元組,不可變

(7).string 字串,不可變

(8).set 集合,特點:無序且元素唯一,可變

(9).dict 字典,特點:鍵值對存在,鍵唯一,可變

序列型別:list, tuple, str 因為有序,所以可以索引。雜湊型別:set, dict是無序的。

數值型別

在python中,能夠直接處理的資料型別有以下幾種:

1、整型:Python可以處理任意大小的的整數,當然包括負整數,在程式中的表示方法和數學上的寫法一模一樣,例如:1,100,-8080,0,等等。

計算機由於使用二進位制,所以,有時候用十六進位制表示整數比較方便,十六進位制用0xffoo,0xa5b4c3d2,等等。其他數制還有二進位制,八進位制。

  >>> 0b110    6
  >>> 0o123    83

  >>> 0x123    291

在Python中可對整數執行算數運算。Python中的算數運算子有(+、-、*、/、//、%、**)

  >>> 1+2    3
  >>> 2-1     1
  >>> 2*3     6
  >>> 5/2     2
  >>> 7//2    3
  >>> 14%3   2
  >>> 2**4     16

2、浮點型:

Python將帶小數點的數字都稱為浮點數。大多數程式語言都使用了這個術語,它指出了這樣一個事實:小數點可出現在數字的任何位置。

每種程式語言都須細心設計,以妥善地處理浮點數,確保不管小數點出現在什麼位置,數字的行為都是正常的。

  >>> 2*0.6   1.2
  >>> 0.2+0.5  0.7

但是需要注意的是,結果包含的小數位數可能是不確定的:

  >>> 1.2-1    0.19999999999999996
  >>> 2.5-1    1.5
  >>> 2.2-1    1.2000000000000002

若小數在Python中精確的計算可以使用decimal這個模組。

  >>> import decimal
  >>> a = decimal.Decimal('1.2')
  >>> b = decimal.Decimal('1')
  >>> c = a -b
  >>> c
  Decimal('0.2')

取整:

  >>> import math
  >>> math.ceil(2.4)   3  //向上取整
  >>> math.floor(2.4)  2  //向下取整

3、布林型

一個布林值只有True 、False 二種值,要麼是True,要麼是False,在Python中,可以直接用True,False表示布林值(請注意大小寫)

也可以用過布林運算計算出來:

  >>> True       True
  >>> False      False
  >>> 3 > 2      True
  >>> 5 < 3      False
  >>> a = True +1
  >>> a        2
  >>> b = False +3
  >>> b        3

4、複數:

  >>> a = 2
  >>> b = 3
  >>> complex(a,b)
  (2+3j)

序列型別:

所謂的序列即一個有序物件的集合。這裡的物件可以是數字、字串等。根據功能的不同將序列分為字串、列表、元組。

注意:str型別不可編輯,tuple型別不可編輯 ,list型別可編輯。

1、字串的定義:

 字串是一個非常常見的物件,我們平時在文字中編輯的物件都是字串,例如‘你的名字,‘I love python!’等都是字串,字串的重要性不言而喻。

python接收單引號(')、雙引號(")、三引號(' ' ' / " " ")來表示字串,引號的開始與結束型別必須一致。

三引號可以由多行組成,這也是編寫多行文字的常用語法,經常用於處理文件字串,但在檔案的特定地點,會被當做註釋來處理。

字串運算子有 '+'   '*' 兩種,表示合併和重複。

例如:

>>>s1 = 'I love python ! '

>>>s1 = 'Hello 2018 ! '

>>> s1+s2         'I love python !Hello 2018 !'

>>> s1*3      'I love python !I love python !I love python !'

2、列表的定義:

Python內建的一種資料型別是列表:list。list是一種有序的集合。

列表list: 用中括號括起來

li = [1,2,3,4,5,6,7,8,9]

print(li[3])             #索引下標為3的資料

li[3] = 0                #更改下標為3的資料

print(li[-1])            #倒數第一個

print(li[-2])            #倒數第二個

print(li[2:5])       #切片取(3,4,5),下標包含頭不包含尾

print(li[5:-2])      #切片取[6,7]

print(li[:])              #取全部
print(li[::])             #取全部,步長預設為1
print(li[::2])           #步長為2,數兩個取第一個

print(li[-1:-3:-1])        #從後往前取,步長為-1

3、元組的定義:

元組tuple:元組的值初始化完就不能被修改的

tu=(1,2,3)     #可用括號表示

tu=1,2,3       #也可不用括號表示

tu=1,          #只有一個元素時,一定要加逗號

tu[0]        #取某個元素用中括號加下標

tu[0:2]       #切片取(1,2),下標包含頭不包含尾

python 3 中,有9種資料型別:

4種數值型別:int float bool complex,3種序列型別:tuple list str,2種雜湊型別:set   dic 

(1).int 整型,不可變

(2).float 浮點型,不可變

(3).bool 布林,True 和 False,不可變

(4).complex 科學計數,實部和虛部組成,如:2+2j,不可變。(不常用)

(5).list 列表,可變

(6).tuple 元組,不可變

(7).string 字串,不可變

(8).set 集合,特點:無序且元素唯一,可變

(9).dict 字典,特點:鍵值對存在,鍵唯一,可變

序列型別:list, tuple, str 因為有序,所以可以索引。雜湊型別:set, dict是無序的。

數值型別

在python中,能夠直接處理的資料型別有以下幾種:

1、整型:Python可以處理任意大小的的整數,當然包括負整數,在程式中的表示方法和數學上的寫法一模一樣,例如:1,100,-8080,0,等等。

計算機由於使用二進位制,所以,有時候用十六進位制表示整數比較方便,十六進位制用0xffoo,0xa5b4c3d2,等等。其他數制還有二進位制,八進位制。

  >>> 0b110    6
  >>> 0o123    83
  >>> 0x123    291

在Python中可對整數執行算數運算。Python中的算數運算子有(+、-、*、/、//、%、**)

  >>> 1+2    3
  >>> 2-1     1
  >>> 2*3     6
  >>> 5/2     2
  >>> 7//2    3
  >>> 14%3   2
  >>> 2**4     16

2、浮點型:

Python將帶小數點的數字都稱為浮點數。大多數程式語言都使用了這個術語,它指出了這樣一個事實:小數點可出現在數字的任何位置。

每種程式語言都須細心設計,以妥善地處理浮點數,確保不管小數點出現在什麼位置,數字的行為都是正常的。

  >>> 2*0.6   1.2
  >>> 0.2+0.5  0.7

但是需要注意的是,結果包含的小數位數可能是不確定的:

  >>> 1.2-1    0.19999999999999996
  >>> 2.5-1    1.5
  >>> 2.2-1    1.2000000000000002