Python基础教程:内置类型之数值
Python有以下三種的數值類型: 整型(integers), 浮點型(floating point numbers), 以及 復數(complex numbers)。此外,布爾是整數的子類型。
數值類型說明
整數由1-n個數字字符表示,整數的類型名稱是int,所有的整數都是類型int的實例;浮點數由整數部分和小數部分構成,中間用.連接,浮點數的類型名稱是float,所有浮點數都是類型float的實例;復數由實部和虛部構成,其中虛部跟上字母j,復數的類型名稱數complex,所有復數都是類型complex的實例。
數值的聲明
在python中,數值聲明的方式有2種方式,分別是字面量聲明方式和使用數值類型構造函數初始化的方式。
字面量
和其它語言類似,python支持字面量方式聲明數值。
對于整數,一串數字就表示1個正整數,負數則在數字前面添加-號表示,
# 正數 >>> 19 19 # 負數 >>> -7 -7 # 0 >>> 0 0浮點數的字面量聲明,負數同樣的是前面添加-號來表示,
# 正浮點數 >>> 19.1 19.1 # 負浮點數 >>> -7.2 -7.2 # 0.0 >>> 0.0 0.0復數的字面量聲明,虛部用字母j(或者J)表示
>>> 1 + 2j 1 + 2j整數默認的是按10進制進行表示的,但是字面量也可以直接聲明2進制、8進制和16進制,它們分別是向整數添加0b、0o、0x表示。
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' # 2進制 >>> a = 0b10 >>> a 2 # 8進制 >>> b = 0o10 >>> b 8 # 16進制 >>> c = 0x10 >>> c 16構造函數聲明
int函數是1個python內置函數,也是整數類型int的構造函數,它的作用是對傳入的參數做初始化,轉換成1個整數。根據傳入的參數不同,初始化的結果也不相同。詳見 Python內置函數33——int。
# 1. 不傳入參數時,得到結果0 >>> int() 0#2. 傳入整數時,返回本身;傳入浮點數時,向下取整 >>> int(3) 3 >>> int(3.6) 3# 3. 傳入字符串時,默認以10進制進行轉換,字符串中可以帶正負符號。 >>> int('+36') 36 >>> int('-36') -36# 4. 傳入字符串時,并指定轉換進制。 >>> int('01',2) 1 >>> int('02',3) 2 >>> int('07',8) 7 >>> int('0f',16) 15float函數是1個python內置函數,也是浮點數類型float的構造函數,它的作用是對傳入的參數做初始化,轉換成1個浮點數。根據傳入的參數不同,初始化的結果也不相同。詳見 Python內置函數22——float。
# 1. 不傳入參數時,得到結果0.0 >>> float() 0.0#2. 傳入整數或者浮點數 >>> float(3) 3.0 >>> float(3.6) 3.6# 3. 傳入字符串時,字符串中可以帶正負符號。 >>> float('+3.6') 3.6 >>> float('-3.6') -3.6# 4. 幾個特殊的字符串 >>> float('Infinity')#無窮大 inf >>> float('inf')#無窮大 inf>>> float('inFinIty') #不區分大小寫 inf>>> float('+inFinIty') #正無窮 inf >>> float('-inFinIty') #負無窮 -inf>>> float('nan') #沒有值 nancomplex函數是1個python內置函數,也是復數類型complex的構造函數,它的作用是對傳入的參數做初始化,轉換成1個復數。根據傳入的參數不同,初始化的結果也不相同。詳見 Python內置函數13——complex。
# 1. 不傳入參數時,得到結果0j >>> complex() 0j#2. 傳入2個參數,分別表示實部和虛部 >>> complex(3,4) (3 + 4j)# 3. 傳入字符串時 >>> complex('3+4j') 3.6 >>> complex('-3.6') (3 + 4j)支持的運算操作
常見的運算操作
整形支持以下的運算操作,按優先級升序排列
- x + y 相加
- x - y 相減
- x * y 相乘
- x / y 相除
- x // y 取整除,也叫地板除
- x % y 取余數
- -x 取負
- +x 取正,值不變
- abs(x) 取絕對值
- int(x) 轉換成整數
- float(x) 轉換成浮點數
- complex(re,im) 轉換成復數
- c.conjugate() 取復數的共軛
- divmod(x, y) 返回地板除的結果和取余數的結果組成的元組
- pow(x,y) x 的y 次冪
- x ** y x 的y 次冪
其中x // y只支持浮點數和整數,不支持復數,除法結果向下取整。
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' >>> 1//2 0 >>> -1//2 -1 >>> 1//(-2) -1 >>> (-1)//(-2) 0# 其中1個是浮點數 結果也是浮點數 >>> 5//3 1 >>> 5//3.0 1.0浮點數的四舍五入
python提供了內置函數float用來對浮點數進行四舍五入操作。其中有一點一定要注意,float如果不傳入第2個參數,表示截斷成整數。和傳入0保留0位小數是不一樣的。
>>> round(3.456,2) 3.46 >>> round(3.456,1) 3.5 >>> round(3.456,0) 3.0 >>> round(3.456) #不傳入參數,結果是整數 3浮點數轉換成整數的幾個截斷方法
在math模塊中,提供了另外幾種將浮點數截斷成小數的方法,他們分別是trunc截斷、floor向下取整、ceil向上取整。而上面提到的round函數,如果不傳入第2個參數,也有取整的功能。
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' # 導入math import math>>> a = 3.556 >>> b = -3.556# 直接截斷 >>> math.trunc(a) 3 >>> math.trunc(b) -3# 向下取整 >>> math.floor(a) 3 >>> math.floor(b) -4# 向上取整 >>> math.ceil(a) 4 >>> math.ceil(b) -3# 四舍五入取整 >>> round(a) 4 >>> round(b) -4浮點數的is_integer()方法
is_integer()·是浮動數的一個實例方法,如果浮點數實例是整數值,則返回True,否則返回False.
>>> f1 = 3.0 >>> f1.is_integer() True>>> f2 = 3.14 >>> f2.is_integer() False總結
以上是生活随笔為你收集整理的Python基础教程:内置类型之数值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python基础教程:内置类型之生成器
- 下一篇: Python基础教程:内置类型之比较