Python Number 數(shù)據(jù)類型用于存儲數(shù)值明场。
數(shù)據(jù)類型是不允許改變的,這就意味著如果改變 Number 數(shù)據(jù)類型的值,將重新分配內(nèi)存空間苦锨。
以下實(shí)例在變量賦值時(shí) Number 對象將被創(chuàng)建:
var1 = 1
var2 = 10
您也可以使用del語句刪除一些 Number 對象引用。
del語句的語法是:
del var1[,var2[,var3[....,varN]]]]
您可以通過使用del語句刪除單個(gè)或多個(gè)對象拉庶,例如:
del var
del var_a, var_b
Python 支持四種不同的數(shù)值類型:
-
整型(Int)
- 通常被稱為是整型或整數(shù)秃励,是正或負(fù)整數(shù),不帶小數(shù)點(diǎn)夺鲜。 -
長整型(long integers)
- 無限大小的整數(shù)币励,整數(shù)最后是一個(gè)大寫或小寫的L。 -
浮點(diǎn)型(floating point real values)
- 浮點(diǎn)型由整數(shù)部分與小數(shù)部分組成流炕,浮點(diǎn)型也可以使用科學(xué)計(jì)數(shù)法表示(2.5e2 = 2.5 x 102 = 250) -
復(fù)數(shù)(complex numbers)
- 復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成仅胞,可以用 a + bj 干旧,或者 complex(a,b) 表示, 復(fù)數(shù)的實(shí)部 a 和虛部 b 都是浮點(diǎn)型峻堰。
int | long | float | complex |
---|---|---|---|
10 | 51924361L | 0.0 | 3.14j |
100 | -0x19323L | 15.20 | 45.j |
-786 | 0122L | -21.9 | 9.322e-36j |
080 | 0xDEFABCECBDAECBFBAEl | 32.3e+18 | .876j |
-0490 | 535633629843L | -90. | -.6545+0J |
-0x260 | -052318172735L | -32.54e100 | 3e+26J |
0x69 | -4721885298529L | 70.2E-12 | 4.53e-7j |
長整型也可以使用小寫 l
捐名,但是還是建議您使用大寫 L
,避免與數(shù)字 1
混淆镶蹋。Python 使用 L
來顯示長整型成艘。
Python 還支持復(fù)數(shù),復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成贺归,可以用 a + bj 淆两,或者 complex(a,b) 表示, 復(fù)數(shù)的實(shí)部 a 和虛部 b 都是浮點(diǎn)型拂酣。
Python Number 類型轉(zhuǎn)換
int(x [,base ]) 將x轉(zhuǎn)換為一個(gè)整數(shù)
long(x [,base ]) 將x轉(zhuǎn)換為一個(gè)長整數(shù)
float(x ) 將x轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)
complex(real [,imag ]) 創(chuàng)建一個(gè)復(fù)數(shù)
str(x ) 將對象 x 轉(zhuǎn)換為字符串
repr(x ) 將對象 x 轉(zhuǎn)換為表達(dá)式字符串
eval(str ) 用來計(jì)算在字符串中的有效Python表達(dá)式,并返回一個(gè)對象
tuple(s ) 將序列 s 轉(zhuǎn)換為一個(gè)元組
list(s ) 將序列 s 轉(zhuǎn)換為一個(gè)列表
chr(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符
unichr(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為Unicode字符
ord(x ) 將一個(gè)字符轉(zhuǎn)換為它的整數(shù)值
hex(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串
oct(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串
數(shù)學(xué)常量
常量 | 描述 |
---|---|
pi | 數(shù)學(xué)常量 pi(圓周率秋冰,一般以π來表示) |
e | 數(shù)學(xué)常量 e,e 即自然常數(shù)(自然常數(shù)) |
Python math 模塊婶熬、cmath 模塊
Python 中數(shù)學(xué)運(yùn)算常用的函數(shù)基本都在 math 模塊剑勾、cmath 模塊中。
Python math 模塊提供了許多對浮點(diǎn)數(shù)的數(shù)學(xué)運(yùn)算函數(shù)赵颅。
Python cmath 模塊包含了一些用于復(fù)數(shù)運(yùn)算的函數(shù)虽另。
cmath 模塊的函數(shù)跟 math 模塊函數(shù)基本一致,區(qū)別是 cmath 模塊運(yùn)算的是復(fù)數(shù)饺谬,math 模塊運(yùn)算的是數(shù)學(xué)運(yùn)算捂刺。
要使用 math 或 cmath 函數(shù)必須先導(dǎo)入:
import math
查看 math 查看包中的內(nèi)容:
import math
print dir(math)
>> ['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh', 'atan',
'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc',
'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma',
'hypot', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'modf', 'pi',
'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']
查看 cmath 查看包中的內(nèi)容:
import cmath
print dir(cmath)
>> ['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh', 'atan',
'atanh', 'cos', 'cosh', 'e', 'exp', 'isinf', 'isnan', 'log', 'log10', 'phase', 'pi',
'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh']
實(shí)例:
# -*- coding: UTF-8 -*-
import cmath
cmath.sqrt(-1)
>> 1j
cmath.sqrt(9)
>> (3+0j)
cmath.sin(1)
>> (0.841470984808+0j)
cmath.log10(100)
>> (2+0j)
下文會介紹各個(gè)函數(shù)的具體應(yīng)用绪商。
Python 數(shù)學(xué)函數(shù)
abs() 函數(shù)
描述:
abs()
函數(shù)返回?cái)?shù)字的絕對值。
語法:
abs(x)
參數(shù):
x -- 數(shù)值表達(dá)式例书。
返回值:
函數(shù)返回 x(數(shù)字)的絕對值决采。
實(shí)例:
abs(-45)
>> 45
abs(100.12)
>> 100.12
abs(119L)
>> 119
ceil() 函數(shù)
描述:
ceil()
函數(shù)返回?cái)?shù)字的上入整數(shù)拇厢。
語法:
import math
math.ceil(x)
注意:ceil() 是不能直接訪問的孝偎,需要導(dǎo)入 math 模塊,通過靜態(tài)對象調(diào)用該方法势决。
參數(shù):
x -- 數(shù)值表達(dá)式果复。
返回值:
函數(shù)返回?cái)?shù)字的上入整數(shù)。
實(shí)例:
import math
math.ceil(-45.17)
>> -45.0
math.ceil(100.12)
>> 101.0
math.ceil(100.72)
>> 101.0
math.ceil(119L)
>> 119.0
math.ceil(math.pi)
>> 4.0
cmp() 函數(shù)
描述:
cmp(x,y)
函數(shù)用于比較2個(gè)對象极颓,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。
語法:
cmp(x,y)
參數(shù):
x -- 數(shù)值表達(dá)式骇径。
y -- 數(shù)值表達(dá)式破衔。
返回值:
如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。
實(shí)例:
cmp(80, 100)
>> -1
cmp(180, 100)
>> 1
cmp(-80, 100)
>> -1
cmp(80, -100)
>> 1
cmp(80, 80)
>> 0
exp() 函數(shù)
描述:
exp() 方法返回 x 的指數(shù),ex怜瞒。
語法:
import math
math.exp(x)
注意:exp() 是不能直接訪問的吴汪,需要導(dǎo)入 math 模塊杆融,通過靜態(tài)對象調(diào)用該方法擒贸。
參數(shù):
x -- 數(shù)值表達(dá)式介劫。
返回值:
返回x的指數(shù),ex誉碴。
實(shí)例:
import math
math.exp(-45.17)
>> 2.41500621326e-20
math.exp(100.12)
>> 3.03084361407e+43
math.exp(100.72)
>> 5.52255713025e+43
math.exp(119L)
>> 4.7978133273e+51
math.exp(math.pi)
>> 23.1406926328
fabs() 函數(shù)
描述:
fabs()
方法返回?cái)?shù)字的絕對值,如 math.fabs(-10) 返回10.0成黄。
語法:
import math
math.fabs(x)
注意:fabs() 是不能直接訪問的,需要導(dǎo)入 math 模塊闻伶,通過靜態(tài)對象調(diào)用該方法。
參數(shù):
x -- 數(shù)值表達(dá)式霎箍。
返回值:
返回?cái)?shù)字的絕對值景埃。
實(shí)例:
import math
math.fabs(-45.17)
>> 45.17
math.fabs(100.12)
>> 100.12
math.fabs(100.72)
>> 100.72
math.fabs(119L)
>> 119.0
math.fabs(math.pi)
>> 3.14159265359
floor() 函數(shù)
描述:
floor()
返回?cái)?shù)字的下舍整數(shù)拒啰。
語法:
import math
math.floor(x)
注意:floor() 是不能直接訪問的剩失,需要導(dǎo)入 math 模塊,通過靜態(tài)對象調(diào)用該方法演熟。
參數(shù):
x -- 數(shù)值表達(dá)式。
返回值:
返回?cái)?shù)字的下舍整數(shù)化漆。
實(shí)例:
import math
math.floor(-45.17)
>> -46.0
math.floor(100.12)
>> 100.0
math.floor(100.72)
>> 100.0
math.floor(119L)
>> 119.0
math.floor(math.pi)
>> 3.0
log() 函數(shù)
描述:
log()
返回 x 的自然對數(shù)座云。
語法:
import math
math.log(x[, base])
注意:log() 是不能直接訪問的,需要導(dǎo)入 math 模塊贞谓,通過靜態(tài)對象調(diào)用該方法。
參數(shù):
x -- 數(shù)值表達(dá)式理疙。
base -- 可選窖贤,底數(shù),默認(rèn)為 e物咳。
返回值:
返回 x 的自然對數(shù)压鉴,x>0晴弃。
實(shí)例:
# -*- coding: UTF-8 -*-
import math
math.log(100.12)
>> 4.60636946656
math.log(100.72)
>> 4.61234438974
math.log(119L)
>> 4.77912349311
math.log(math.pi)
>> 1.14472988585
# 設(shè)置底數(shù)
math.log(10, 2)
>> 3.32192809489
log10() 函數(shù)
描述:
log10()
方法返回以10為基數(shù)的x對數(shù)芯丧。
語法:
import math
math.log10(x)
注意:log10() 是不能直接訪問的,需要導(dǎo)入 math 模塊岭佳,通過靜態(tài)對象調(diào)用該方法萧锉。
參數(shù):
x -- 數(shù)值表達(dá)式珊随。
返回值:
返回以10為基數(shù)的x對數(shù)柿隙,x>0。
實(shí)例:
import math
math.log10(100.12)
>> 2.00052084094
math.log10(100.72)
>> 2.0031157171
math.log10(119L)
>> 2.07554696139
math.log10(math.pi)
>> 0.497149872694
max() 函數(shù)
描述:
max() 方法返回給定參數(shù)的最大值,參數(shù)可以為序列波附。
語法:
max( x, y, z, .... )
參數(shù):
x -- 數(shù)值表達(dá)式。
y -- 數(shù)值表達(dá)式谦炒。
z -- 數(shù)值表達(dá)式。
返回值:
返回給定參數(shù)的最大值。
實(shí)例:
max(80, 100, 1000)
>> 1000
max(-20, 100, 400)
>> 400
max(-80, -20, -10)
>> -10
max(0, 100, -400)
>> 100
min() 函數(shù)
描述:
min()
方法返回給定參數(shù)的最小值鞋邑,參數(shù)可以為序列鄙早。
語法:
min( x, y, z, .... )
參數(shù):
x -- 數(shù)值表達(dá)式。
y -- 數(shù)值表達(dá)式椅亚。
z -- 數(shù)值表達(dá)式限番。
返回值:
返回給定參數(shù)的最小值。
實(shí)例:
min(80, 100, 1000)
>> 80
min(-20, 100, 400)
>> -20
min(-80, -20, -10)
>> -80
min(0, 100, -400)
>> -400
min([1, 2, 3])
>> 1
modf() 函數(shù)
描述:
modf()
方法返回x的整數(shù)部分與小數(shù)部分呀舔,兩部分的數(shù)值符號與x相同弥虐,整數(shù)部分以浮點(diǎn)型表示扩灯。
語法:
import math
math.modf(x)
注意:modf()是不能直接訪問的,需要導(dǎo)入 math 模塊霜瘪,通過靜態(tài)對象調(diào)用該方法珠插。
參數(shù):
x -- 數(shù)值表達(dá)式。
返回值:
返回x的整數(shù)部分與小數(shù)部分颖对,
實(shí)例:
import math
math.modf(100.12)
>> (0.12000000000000455, 100.0)
math.modf(100.72)
>> (0.7199999999999989, 100.0)
math.modf(119L)
>> (0.0, 119.0)
math.modf(math.pi)
>> (0.14159265358979312, 3.0)
pow() 函數(shù)
描述:
pow()
方法返回 xy(x的y次方) 的值捻撑。
math 模塊 pow() 方法的語法:
import math
math.pow(x, y)
內(nèi)置的 pow() 方法:
pow(x, y[, z])
函數(shù)是計(jì)算x的y次方,如果z在存在缤底,則再對結(jié)果進(jìn)行取模顾患,其結(jié)果等效于pow(x,y) %z
注意:pow() 通過內(nèi)置的方法直接調(diào)用,內(nèi)置方法會把參數(shù)作為整型个唧,而 math 模塊則會把參數(shù)轉(zhuǎn)換為 float江解。
參數(shù):
x -- 數(shù)值表達(dá)式。
y -- 數(shù)值表達(dá)式徙歼。
z -- 數(shù)值表達(dá)式犁河。
返回值:
返回 xy(x的y次方) 的值。
實(shí)例:
import math
pow(100, 2) # 使用內(nèi)置魄梯,查看輸出結(jié)果區(qū)別
>> 10000
math.pow(100, 2)
>> 10000.0
math.pow(100, -2)
>> 0.0001
math.pow(2, 4)
>> 16.0
math.pow(3, 0)
>> 1.0
round() 函數(shù)
描述:
round()
方法返回浮點(diǎn)數(shù)x的四舍五入值桨螺。
語法:
round( x , n )
參數(shù):
x -- 數(shù)值表達(dá)式。
n -- 數(shù)值表達(dá)式画恰,保留小數(shù)點(diǎn)后n位彭谁。
返回值:
返回浮點(diǎn)數(shù)x的四舍五入值。
實(shí)例:
round(80.23456, 2)
>> 80.23
round(100.23456, 3)
>> 100.235
round(-100.23456, 4)
>> -100.2346
sqrt() 函數(shù)
描述:
sqrt()
方法返回?cái)?shù)字x的平方根允扇。
語法:
import math
math.sqrt(x)
注意:sqrt() 是不能直接訪問的缠局,需要導(dǎo)入 math 模塊,通過靜態(tài)對象調(diào)用該方法考润。
參數(shù):
x -- 數(shù)值表達(dá)式狭园。
返回值:
返回?cái)?shù)字x的平方根。
實(shí)例:
import math
math.sqrt(4)
>> 2.0
math.sqrt(7)
>> 2.64575131106
math.sqrt(100)
>> 10.0
math.sqrt(math.pi)
>> 1.77245385091
由于本人對于 `Python 隨機(jī)數(shù)函數(shù)` 以及 `Python 三角函數(shù)` 使用需求不大
所以此處略帶一提糊治,不做詳細(xì)介紹唱矛,需要了解的朋友煩請自行查閱
Python 隨機(jī)數(shù)函數(shù)
隨機(jī)數(shù)可以用于數(shù)學(xué),游戲井辜,安全等領(lǐng)域中绎谦,還經(jīng)常被嵌入到算法中,用以提高算法效率粥脚,并提高程序的安全性窃肠。
Python包含以下常用隨機(jī)數(shù)函數(shù):
函數(shù) | 描述 |
---|---|
choice(seq) | 從序列的元素中隨機(jī)挑選一個(gè)元素,比如random.choice(range(10))刷允,從0到9中隨機(jī)挑選一個(gè)整數(shù)冤留。 |
randrange (start, stop, step) | 從指定范圍內(nèi)碧囊,按指定基數(shù)遞增的集合中獲取一個(gè)隨機(jī)數(shù),基數(shù)缺省值為1 |
random() | 隨機(jī)生成下一個(gè)實(shí)數(shù)纤怒,它在[0,1)范圍內(nèi)糯而。 |
seed([x]) | 改變隨機(jī)數(shù)生成器的種子 seed。如果你不了解其原理泊窘,你不必特別去設(shè)定 seed熄驼,Python 會幫你選擇 seed。 |
shuffle(lst) | 將序列的所有元素隨機(jī)排序 |
uniform(x, y) | 隨機(jī)生成下一個(gè)實(shí)數(shù)州既,它在 [x, y] 范圍內(nèi)谜洽。 |
Python 三角函數(shù)
函數(shù) | 描述 |
---|---|
acos(x) | 返回x的反余弦弧度值。 |
asin(x) | 返回x的反正弦弧度值吴叶。 |
atan(x) | 返回x的反正切弧度值。 |
atan2(y, x) | 返回給定的 X 及 Y 坐標(biāo)值的反正切值序臂。 |
cos(x) | 返回x的弧度的余弦值蚌卤。 |
hypot(x, y) | 返回歐幾里德范數(shù) sqrt(x*x + y*y)。 |
sin(x) | 返回的x弧度的正弦值奥秆。 |
tan(x) | 返回x弧度的正切值逊彭。 |
degrees(x) | 將弧度轉(zhuǎn)換為角度,如degrees(math.pi/2) , 返回90.0 |
radians(x) | 將角度轉(zhuǎn)換為弧度 |