Python基礎:資料型別-數字(5)

libingql發表於2018-12-22

在Python中,所有的資料型別都是類,每一個變數都是類的例項。

Python中有6種標準資料型別:數字(Number)、字串(String)、列表(List)、元組(Tuple)、集合(Sets)和字典(Dictionary)。

1.數字型別

  Python中數字型別:整數型別、浮點型別和複數型別。

1.1 整數型別(int)

  Python整數型別為int,整數型別的範圍可以很大,可以表示很大的整數,只受所在計算機硬體的限制。

  Python 3 不再區分整數和長整數,所有需要的整數都可以是長整數。

  預設情況下,一個整數值表示十進位制數。其它進位制的表示方式:

  ◊ 二進位制數:以0b或0B為字首。(注:0為阿拉伯數字)

  ◊ 八進位制數:以0o或0O為字首。(注:第一個字元是阿拉伯數字0,第二個字元是英文字母o或O)

  ◊ 十六進位制數:以0x或0X為字首。(注:0為阿拉伯數字)

>>> 28
28
>>> 0b11100
28
>>> 0o34
28
>>> 0x1C
28

1.2 浮點型別(float)

  浮點型別用來儲存小數數值,Python中浮點型別為float,Python只支援雙精度的浮點型別,且與本機有關。

  浮點型別可以使用小數表示,也可以使用科學計數法表示。科學計數法中使用大寫或小寫的e表示10的指數,如e2表示102

>>> 1.0
1.0
>>> 3.6e2
360.0
>>> 3.6e-2
0.036

1.3 複數型別

  複數由實數部分和虛數部分構成,可以使用 a + bj 或 complex(a, b) 表示,複數的實部a和虛部b都是浮點型別。

  Python中複數型別為complex。

>>> 1 + 2j
(1+2j)
>>> complex(1,2)
(1+2j)
>>> complex(1,2) + complex(1,2)
(2+4j)

1.4 布林型別

  Python中布林型別為bool,bool是int的子類。bool型別只有兩個值:True和False。

  任何型別資料都可以通過bool()函式轉換為布林值,“沒有的”或“空的”值會轉換為False,反之轉換為True。如:None(空物件)、False、0、0.0、0j(複數)、''(空字串)、[](空列表)、()(空元組)和 {}(空字典)這些值會轉換為False,否則是True。

>>> bool(0)
False
>>> bool(1)
True
>>> bool('')
False
>>> bool(' ')
True
>>> bool(None)
False
>>> bool([])
False
>>> bool({})
False

2.資料型別轉換

  Python資料型別轉換包括隱式型別轉換和顯式型別轉換。

2.1 隱式型別轉換

  隱式型別轉換規則:

運算元1型別 運算元2型別 轉換後的型別
布林 整數 整數
布林、整數 浮點 浮點
>>> a = 1 + True
>>> a
2
>>> type(a)
<class 'int'>
>>> a = 1.0 + 1
>>> a
2.0
>>> type(a)
<class 'float'>
>>> a = 1.0 + True
>>> a
2.0
>>> type(a)
<class 'float'>
>>> a = 1.0 + 1 + True
>>> a
3.0
>>> type(a)
<class 'float'>

2.2 顯式型別轉換

  顯式型別轉換函式:

  (1)int(x):將x轉換為一個整數。可以將布林、浮點轉換為整數。

        布林值:True轉換為1,False轉換為0;

        浮點數值:轉換後截掉小數部分。 

>>> int(True)
1
>>> int(False)
0
>>> int(12.6)
12

  (2)float(x):轉換為一個浮點數。可以將布林值、整數轉換為浮點。

        布林值:True轉換為1.0,False轉換為0.0;

        整數值:轉換後加上小數部分“.0”。

>>> float(True)
1.0
>>> float(False)
0.0
>>> float(1)
1.0

  (3)complex(x):將x轉換為一個複數,實數部分為x,虛數部分為0。

>>> complex(1)
(1+0j)

    complex(x, y):將x和y轉換為一個複數,實數部分為x,虛數部分為y。

>>> complex(1, 2)
(1+2j)

相關文章