③ Python3.0 數字類型

Python3 的六個標準數據類型中:
不可變數據(3 個):Number(數字)、String(字符串)、Tuple(元組);
可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。html

數字類型

Python中數字有四種類型:整數、布爾型、浮點數和複數。python

int (整數), 如 1, 只有一種整數類型 int,表示爲長整型,沒有 python2 中的 Long。 bool (布爾), 如 True和False。 float (浮點數), 如 1.23、3E-2 complex (複數), 如 1 + 2j、 1.1 + 2.2j

Python支持複數,複數由實數部分和虛數部分構成,能夠用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型。
內置的 type() 函數能夠用來查詢變量所指的對象類型,算法

print(type(1))

此外還能夠用 isinstance 來判斷:數組

isinstance(1, int)

二者的區別在於:
type()不會認爲子類是一種父類類型。isinstance()會認爲子類是一種父類類型。執行結果以下:安全

能夠經過使用del語句刪除單個或多個對象less

在使用過程當中注意如下幾點:dom

1、Python能夠同時爲多個變量賦值,如a, b = 1, 22、一個變量能夠經過賦值指向不一樣類型的對象。 3、數值的除法包含兩個運算符:/ 返回一個浮點數,// 返回一個整數。
4、在混合計算時,Python會把整型轉換成爲浮點數。 

 布爾類型

一、在數值上下文環境中,True 被看成 1,False 被看成 0,例如:函數

二、其餘類型值轉換 bool 值時除了 ''、""、''''''、""""""、0、()、[]、{}、None、0.0、0L、0.0+0.0j、False 爲 False 外,其餘都爲 True 例如:spa

數學函數 

函數 返回值 ( 描述 )
abs(x) 返回數字的絕對值,如abs(-10) 返回 10
ceil(x) 返回數字的上入整數,如math.ceil(4.1) 返回 5

cmp(x, y)code

若是 x < y 返回 -1, 若是 x == y 返回 0, 若是 x > y 返回 1。 Python 3 已廢棄,使用 (x>y)-(x<y) 替換
exp(x) 返回e的x次冪(ex),如math.exp(1) 返回2.718281828459045
fabs(x) 返回數字的絕對值,如math.fabs(-10) 返回10.0
floor(x) 返回數字的下舍整數,如math.floor(4.9)返回 4
log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x) 返回以10爲基數的x的對數,如math.log10(100)返回 2.0
max(x1, x2,...) 返回給定參數的最大值,參數能夠爲序列。
min(x1, x2,...) 返回給定參數的最小值,參數能夠爲序列。
modf(x) 返回x的整數部分與小數部分,兩部分的數值符號與x相同,整數部分以浮點型表示。
pow(x, y) x**y 運算後的值。
round(x [,n]) 返回浮點數x的四捨五入值,如給出n值,則表明舍入到小數點後的位數。
sqrt(x) 返回數字x的平方根。

隨機數函數

隨機數能夠用於數學,遊戲,安全等領域中,還常常被嵌入到算法中,用以提升算法效率,並提升程序的安全性。

Python包含如下經常使用隨機數函數:

函數

描述

choice(seq)

從序列的元素中隨機挑選一個元素,好比random.choice(range(10)),從0到9中隨機挑選一個整數。

randrange ([start,] stop [,step])

從指定範圍內,按指定基數遞增的集合中獲取一個隨機數,基數缺省值爲1

random()

隨機生成下一個實數,它在[0,1)範圍內。

seed([x])

改變隨機數生成器的種子seed。若是你不瞭解其原理,你沒必要特別去設定seed,Python會幫你選擇seed。

shuffle(lst)

將序列的全部元素隨機排序

uniform(x, y)

隨機生成下一個實數,它在[x,y]範圍內。

三角函數

Python包括如下三角函數:

函數

描述

acos(x)

返回x的反餘弦弧度值。

asin(x)

返回x的反正弦弧度值。

atan(x)

返回x的反正切弧度值。

atan2(y, x)

返回給定的 X 及 Y 座標值的反正切值。

cos(x)

返回x的弧度的餘弦值。

hypot(x, y)

返回歐幾里德範數 sqrt(x*x + y*y)。

sin(x)

返回的x弧度的正弦值。

tan(x)

返回x弧度的正切值。

degrees(x)

將弧度轉換爲角度,如degrees(math.pi/2) , 返回90.0

radians(x)

將角度轉換爲弧度

數學常量

常量 描述
pi 數學常量 pi(圓周率,通常以π來表示)
e 數學常量 e,e即天然常數(天然常數)。

其餘

一、Python 所謂的奇進偶棄,由於浮點數的表示在計算機中並不許確,用的時候可能要注意一下。儘可能避免使用round()。
當個位爲奇數,小數部分>=0.5入,其他爲舍
當個位爲偶數,小數部分>0.5入,其他爲舍。

 

二、python 不支持複數轉換爲整數或浮點數

 

三、random.sample(sequence,length) 能夠從指定的序列中,隨機的截取指定長度的片段,不修改原序列。

 

random.randint(x,y) #隨機生一個整數int類型,能夠指定這個整數的範圍

 

四、必定要注意 += 和 =+ 的不一樣。必定要分清 += 和 =+ 哦!另外要注意 Python 但是沒有 a++ 指令的!能夠理解b=+6其實就是正數6。

 

五、字符轉爲數字

var='1234'

num=int(var) # 若是是小數可用 float

字符轉爲列表

num_list=list(var)

列表轉爲數組

能夠用 numpy 模塊:

import numpy as np

num_array=np.array(num_list)

也能夠是 num_array=[int(i) for i in num_list]。

 

六、Python3中已經不能使用cmp()函數了,被以下五個函數替代:

import operator #首先要導入運算符模塊 operator.gt(1,2) #意思是greater than(大於) operator.ge(1,2) #意思是greater and equal(大於等於) operator.eq(1,2) #意思是equal(等於) operator.le(1,2) #意思是less and equal(小於等於) operator.lt(1,2)      #意思是less than(小於)

七、針對前面有人提到複數不能強轉爲int或者float的問題:

其實在Python中,複數提供了2個函數,一個函數是real,返回複數的實數部分,另外一個函數是imag,返回複數的虛數部分。由於實數跟複數是差別很大的類型,因此不支持強制轉換是能夠理解的。由於在強制轉換過程當中,虛數部分到底該怎麼轉換,是沒有定義的,而int和float只有實數部分

 

相關文章
相關標籤/搜索