Python 包括三種表示數字的數字類型:整數、浮點數和復數。
整數類型
在 Python 中,整數是沒有小數部分的零、正或負整數,并且具有無限的精度,例如 0、100、-10。以下是 Python 中有效的整數文字。
>>> 0 0 >>> 100 100 >>> -10 -10 >>> 1234567890 1234567890 >>> y=5000000000000000000000000000000000000000000000000000000 5000000000000000000000000000000000000000000000000000000
整數可以是二進制、八進制和十六進制值。
>>> 0b11011000 # 二進制 216 >>> 0o12 # 八進制 10 >>> 0x12 # 十六進制 15
所有整數文字或變量都是int
類的對象。使用type()
方法獲取類名,如下圖。
>>>type(100) <class 'int'> # 返回整數類型 >>> x=1234567890 >>> type(x) <class 'int'> # 返回整數類型 >>> y=5000000000000000000000000000000000000000000000000000000 >>> type(y) # 返回整數類型 <class 'int'>
非零整數中不允許在最前面出現0,例如 000123 是無效數字,0000 是 0。
>>> x=01234567890 SyntaxError: invalid token
Python 不允許逗號作為數字分隔符。請使用下劃線_
作為分隔符。
>>> x=1_234_567_890 >>> x 1234567890
請注意,整數必須不帶小數部分(小數點)。如果包含了小數點,那它就是一個浮點數。
>>> x=5 >>> type(x) <class 'int'> >>> x=5.0 >>> type(x) <class 'float'> #這里返回是浮點型
int()
函數將字符串或浮點數轉換為整數。
>>> int('100') 100 >>> int('-10') -10 >>> int('5.5') 5 >>> int('100', 2) 4
二進制的
在 Python 中,0 和 1 的組合中有八位數字的數字 0b 代表二進制數。 例如,0b11011000 是相當于整數 216 的二進制數。
>>> x=0b11011000 >>> x 216 >>> x=0b_1101_1000 >>> x 216 >>> type(x) <class 'int'>
八進制的
以 0o 或 0O 為前綴的數字代表一個八進制數字。 例如 0O12 相當于整數 10。
>>> x=0o12 >>> x 10 >>> type(x) <class 'int'>
十六進制的
以 0x 或 0X 為前綴的數字表示十六進制號。 例如 0x12 相當于整數 18。
>>> x=0x12 >>> x 18 >>> type(x) <class 'int'>
浮點數
在 Python 中,浮點數(float)是正負實數,小數部分由十進制符號.
或科學符號E
或e
、 表示,例如 1234.56、3.142、-1.55、0.23。
>>> f=1.2 >>> f 1.2 >>> type(f) <class 'float'>
浮點數可以用下劃線_
分隔,例如123_42.222_013
是有效的浮點數。
>>> f=123_42.222_013 >>> f 12342.222013
浮動的最大大小取決于您的系統。超出其最大大小的浮動稱為“inf”、“Inf”、“infinity”或“INFINITY”。對于大多數系統來說,Float 2e400
將被認為是無窮大。
>>> f=2e400 >>> f inf
科學記數法被用作表示有許多數字的浮點數的簡短表示法。例如:345.56789 表示為 3.4556789e2 或 3.4556789E2
>>> f=1e3 >>> f 1000.0 >>> f=1e5 >>> f 100000.0 >>> f=3.4556789e2 >>> f 345.56789
使用float()
函數將字符串、int 轉換為 float。
>>> float('5.5') 5.5 >>> float('5') 5.0 >>> float(' -5') -5.0 >>> float('1e3') 1000.0 >>> float('-Infinity') -inf >>> float('inf') inf
復數
復數是有實部和虛部的數。例如,5 + 6j 是復數,其中 5 是實部,6 乘以 j 是虛部。
>>> a=5+2j >>> a (5+2j) >>> type(a) <class 'complex'>
你必須用 J 或 J 作為虛部。使用其他字符會引發語法錯誤。
>>> a=5+2k SyntaxError: invalid syntax >>> a=5+j SyntaxError: invalid syntax >>> a=5i+2j SyntaxError: invalid syntax
算術運算符
下表列出了整數值的算術運算符:
操作員 | 描述 | 例子 |
---|---|---|
+(加法) | 在運算符的兩側添加操作數。 | > > > a = 10b = 20 |
T2>T4>a+b T6】30 | | -(減法) | 從左側操作數中減去右側操作數。 | > > > a = 10b = 20
復數的算術運算
復數的加法和減法很簡單。實部和虛部相加/相減得到結果。
>>> a=6+4j >>> a+2 (8+4j) >>> a*2 (12+8j) >>> a/2 (3+2j) >>> a**2 (20+48j) >>> b=3+2j >>> a+b (9+6j) >>> a-b (3+2j)
算術運算符也可以用于兩個復數,如下所示。
>>> a=6+4j >>> b=3+2j >>> a+b (9+6j) >>> a-b (3+2j) >>> a*b (10+24j)
這兩個復數相乘的過程非常類似于兩個二項式相乘。將第一個數字中的每個項乘以第二個數字中的每個項。
a=6+4j b=3+2j c=a*b c=(6+4j)*(3+2j) c=(18+12j+12j+8*-1) c=10+24j
內置函數
可以使用以下函數將一種類型的數值對象轉換為另一種類型:
內置函數 | 描述 |
---|---|
int | 從浮點數或包含數字的字符串中返回整數對象。 |
float | 從包含帶小數點或科學表示法的數字的數字或字符串中返回浮點數對象。 |
complex | 返回一個有實部和虛部的復數。 |
hex | 將十進制整數轉換為前綴為 0x 的十六進制數。 |
oct | 將十進制整數轉換為前綴為 0o 的八進制表示形式。 |
pow | 返回指定數字的冪。 |
abs | 返回一個數字的絕對值,不考慮它的符號。 |
round | 返回四舍五入的數字。 |