Python中數(shù)字(Number)數(shù)據(jù)類型常用操作
更新時間:2023年02月16日 10:17:03 作者:老街頭的貓。
本文主要介紹了Python中數(shù)字(Number)數(shù)據(jù)類型常用操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
數(shù)字運算
- =:用于給變量賦值
- type(x):查看數(shù)據(jù)所屬類型
- isinstance(x, A_tuple):判斷數(shù)據(jù)是否為預期類型
- +:兩個數(shù)相加
- -:兩個數(shù)相減
- *:兩個數(shù)相乘
- /:兩個數(shù)相除
- %:兩個數(shù)進行求余
- **:兩個數(shù)進行冪運算
# 給變量賦值數(shù)字類型數(shù)據(jù) int_data = 100 # 整數(shù) int float_data = 8.88 # 小數(shù) float complex_data = 3+5j # 復數(shù) complex # 查看變量所屬數(shù)據(jù)類型 print(type(int_data)) # <class 'int'> print(type(float_data)) # <class 'float'> print(type(complex_data)) # <class 'complex'> # 判斷兩個數(shù)據(jù)的類型是否相等 print(isinstance(int_data, int)) # True print(isinstance(float_data, int)) # False # 加 print(2 + 1) # 3 print(2 + 6.6) # 8.6 整數(shù)和浮點數(shù)運算結果為浮點數(shù) print(2.1 + 1.2) # 3.3 # 減 print(2 - 1) # 1 print(2 - 6.6) # -4.6 print(2.1 - 1.2) # 0.9000000000000001 print(round(2.1 - 1.2, 1)) # 0.9 # 乘 print(2 * 1) # 2 print(2 * 6.6) # 13.2 print(2.1 * 1.2) # 2.52 # 除 print(2 / 1) # 2.0 print(6.66 / 2) # 3.33 print(6.66 / 2.22) # 3.0 # 求余 print(10 % 3) # 1 print(20.22 % 3) # 2.219999999999999 # 冪運算 print(5 ** 2) # 5的平方,25 print(2 ** 7) # 2的7次方,128
類型轉換
- int(x, base=10):將一個字符串或數(shù)字轉換為整型。x為字符串或數(shù)字,base為進制數(shù),默認10進制。
- float(x):將一個字符串或數(shù)字轉換為浮點數(shù)。x為字符串或整數(shù)。
# int() # 不傳參數(shù)則為0 int() # 0 # 將字符串轉為整數(shù) int("666") # 666 # 向下取整 int(6.66) # 6 # 將數(shù)字轉為8進制 int('12',8) # 10 # flaot() # 不傳參數(shù)則為0.0 flaot() # 0.0 # 將字符串轉為浮點數(shù) float("6.88") # 6.88
注意:如果轉換內容中出現(xiàn)非數(shù)字字符則會報錯。
數(shù)學函數(shù)
函數(shù) | 說明 |
---|---|
abs(x) | 返回數(shù)字的絕對值。x為數(shù)值表達式。 |
max(x) | 返回給定參數(shù)的最大值,參數(shù)可以為序列。 |
min(x) | 返回給定參數(shù)的最小值,參數(shù)可以為序列。 |
pow(x, y, z) | 返回x的y次方的值。如果z存在則對結果進行取模,等效于pow(x,y) %z |
round(number, digits) | 返回number保留digits位四舍五入的小數(shù),digits不填默認為保留整數(shù) |
使用示例:
abs(-2.66) # 2.66 max(1, 2, 3) # 3 max([6, 7, 8]) # 8 min(1, 2, 3) # 1 pow(10,2) # 100 pow(10,2,3) # 1 round(5.68) # 6 round(5.64, 1) # 5.6
數(shù)學庫math、cmath
- math:模塊提供了許多對浮點數(shù)的數(shù)學運算函數(shù)。
- cmath:模塊包含了一些用于復數(shù)運算的函數(shù)。
查看math中包含的內容:
import math print(dir(math)) # 打印內容 [ '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc' ]
math 模塊常量
常量 | 說明 |
---|---|
math.e | 返回歐拉數(shù) (2.7182…) |
math.inf | 返回正無窮大浮點數(shù) |
math.nan | 返回一個浮點值 NaN (not a number) |
math.pi | π 一般指圓周率。 圓周率 PI (3.1415…) |
math.tau | 數(shù)學常數(shù) τ = 6.283185…,精確到可用精度。Tau 是一個圓周常數(shù),等于 2π,圓的周長與半徑之比。 |
math 模塊方法
函數(shù) | 說明 |
---|---|
math.acos(x) | 返回 x 的反余弦,結果范圍在 0 到 pi 之間。 |
math.acosh(x) | 返回 x 的反雙曲余弦值。 |
math.asin(x) | 返回 x 的反正弦值,結果范圍在 -pi/2 到 pi/2 之間。 |
math.asinh(x) | 返回 x 的反雙曲正弦值。 |
math.atan(x) | 返回 x 的反正切值,結果范圍在 -pi/2 到 pi/2 之間。 |
math.atan2(y, x) | 返回給定的 X 及 Y 坐標值的反正切值,結果是在 -pi 和 pi 之間。 |
math.atanh(x) | 返回 x 的反雙曲正切值。 |
math.ceil(x) | 將 x 向上舍入到最接近的整數(shù) |
math.comb(n, k) | 返回不重復且無順序地從 n 項中選擇 k 項的方式總數(shù)。 |
math.copysign(x, y) | 返回一個基于 x 的絕對值和 y 的符號的浮點數(shù)。 |
math.cos() | 返回 x 弧度的余弦值。 |
math.cosh(x) | 返回 x 的雙曲余弦值。 |
math.degrees(x) | 將角度 x 從弧度轉換為度數(shù)。 |
math.dist(p, q) | 返回 p 與 q 兩點之間的歐幾里得距離,以一個坐標序列(或可迭代對象)的形式給出。 兩個點必須具有相同的維度。 |
math.erf(x) | 返回一個數(shù)的誤差函數(shù) |
math.erfc(x) | 返回 x 處的互補誤差函數(shù) |
math.exp(x) | 返回 e 的 x 次冪,Ex, 其中 e = 2.718281… 是自然對數(shù)的基數(shù)。 |
math.expm1() | 返回 Ex - 1, e 的 x 次冪,Ex,其中 e = 2.718281… 是自然對數(shù)的基數(shù)。這通常比 math.e ** x 或 pow(math.e, x) 更精確。 |
math.fabs(x) | 返回 x 的絕對值。 |
math.factorial(x) | 返回 x 的階乘。 如果 x 不是整數(shù)或為負數(shù)時則將引發(fā) ValueError。 |
math.floor() | 將數(shù)字向下舍入到最接近的整數(shù) |
math.fmod(x, y) | 返回 x/y 的余數(shù) |
math.frexp(x) | 以 (m, e) 對的形式返回 x 的尾數(shù)和指數(shù)。 m 是一個浮點數(shù), e 是一個整數(shù),正好是 x == m * 2**e 。 如果 x 為零,則返回 (0.0, 0) ,否則返回 0.5 <= abs(m) < 1 。 |
math.fsum(iterable) | 返回可迭代對象 (元組, 數(shù)組, 列表, 等)中的元素總和,是浮點值。 |
math.gamma(x) | 返回 x 處的伽馬函數(shù)值。 |
math.gcd() | 返回給定的整數(shù)參數(shù)的最大公約數(shù)。 |
math.hypot() | 返回歐幾里得范數(shù),sqrt(sum(x**2 for x in coordinates))。 這是從原點到坐標給定點的向量長度。 |
math.isclose(a,b *,rel_tol=1e-09,abs_tol=0.0) | 檢查兩個值是否彼此接近,若 a 和 b 的值比較接近則返回 True,否則返回 False。 |
math.isfinite(x) | 判斷 x 是否有限,如果 x 既不是無窮大也不是 NaN,則返回 True ,否則返回 False 。 |
math.isinf(x) | 判斷 x 是否是無窮大,如果 x 是正或負無窮大,則返回 True ,否則返回 False 。 |
math.isnan() | 判斷數(shù)字是否為 NaN,如果 x 是 NaN(不是數(shù)字),則返回 True ,否則返回 False 。 |
math.isqrt() | 將平方根數(shù)向下舍入到最接近的整數(shù)。 |
math.ldexp(x, i) | 返回 x * (2**i) 。 這基本上是函數(shù) math.frexp() 的反函數(shù)。 |
math.lgamma() | 返回伽瑪函數(shù)在 x 絕對值的自然對數(shù)。 |
math.log(x[, base]) | 使用一個參數(shù),返回 x 的自然對數(shù)(底為 e )。 |
math.log10(x) | 返回 x 底為 10 的對數(shù)。 |
math.log1p(x) | 返回 1+x 的自然對數(shù)(以 e 為底)。 |
math.log2(x) | 返回 x 以 2 為底的對數(shù) |
math.perm(n, k=None) | 返回不重復且有順序地從 n 項中選擇 k 項的方式總數(shù)。 |
math.pow(x, y) | 將返回 x 的 y 次冪。 |
math.prod(iterable) | 計算可迭代對象中所有元素的積。 |
math.radians(x) | 將角度 x 從度數(shù)轉換為弧度。 |
math.remainder(x, y) | 返回 IEEE 754 風格的 x 除于 y 的余數(shù)。 |
math.sin(x) | 返回 x 弧度的正弦值。 |
math.sinh(x) | 返回 x 的雙曲正弦值。 |
math.sqrt(x) | 返回 x 的平方根。 |
math.tan(x) | 返回 x 弧度的正切值。 |
math.tanh(x) | 返回 x 的雙曲正切值。 |
math.trunc(x) | 返回 x 截斷整數(shù)的部分,即返回整數(shù)部分,刪除小數(shù)部分 |
使用示例:
import math math.ceil(5.4) # 6 math.ceil(5.5) # 6 math.fabs(-6) # 6.0 math.fabs(6) # 6.0 math.floor(6.9) # 6 math.fmod(5, 2) # 1.0 math.isclose(8.005, 8.450, abs_tol = 0.4) # False math.isclose(8.005, 8.450, abs_tol = 0.5) # True print(0.1+0.2) # 0.30000000000000004 math.isclose(0.1+0.2, 0.3) #True math.isnan(float("NaN")) # True math.pow(2, 10) # 1024.0 math.sqrt(25) # 5.0
隨機函數(shù)庫 random
查看random中包含的內容:
import math math.ceil(5.4) # 6 math.ceil(5.5) # 6 math.fabs(-6) # 6.0 math.fabs(6) # 6.0 math.floor(6.9) # 6 math.fmod(5, 2) # 1.0 math.isclose(8.005, 8.450, abs_tol = 0.4) # False math.isclose(8.005, 8.450, abs_tol = 0.5) # True print(0.1+0.2) # 0.30000000000000004 math.isclose(0.1+0.2, 0.3) #True math.isnan(float("NaN")) # True math.pow(2, 10) # 1024.0 math.sqrt(25) # 5.0
random 模塊方法
函數(shù) | 說明 |
---|---|
seed() | 初始化隨機數(shù)生成器。 |
getstate() | 返回捕獲生成器當前內部狀態(tài)的對象。 |
setstate() | state 應該是從之前調用 getstate() 獲得的,并且 setstate() 將生成器的內部狀態(tài)恢復到 getstate() 被調用時的狀態(tài)。 |
getrandbits(k) | 返回具有 k 個隨機比特位的非負 Python 整數(shù)。 此方法隨 MersenneTwister 生成器一起提供,其他一些生成器也可能將其作為 API 的可選部分提供。 在可能的情況下,getrandbits() 會啟用 randrange() 來處理任意大的區(qū)間。 |
randrange() | 從 range(start, stop, step) 返回一個隨機選擇的元素。 |
randint(a, b) | 返回隨機整數(shù) N 滿足 a <= N <= b。 |
choice(seq) | 從非空序列 seq 返回一個隨機元素。 如果 seq 為空,則引發(fā) IndexError。 |
choices(population, weights=None, *, cum_weights=None, k=1) | 從 population 中選擇替換,返回大小為 k 的元素列表。 如果 population 為空,則引發(fā) IndexError。 |
shuffle(x[, random]) | 將序列 x 隨機打亂位置。 |
sample(population, k, *, counts=None) | 返回從總體序列或集合中選擇的唯一元素的 k 長度列表。 用于無重復的隨機抽樣。 |
random() | 返回 [0.0, 1.0) 范圍內的下一個隨機浮點數(shù)。 |
uniform(x, y) | 隨機生成下一個實數(shù),它在[x,y]范圍內。 |
triangular(low, high, mode) | 返回一個隨機浮點數(shù) N ,使得 low <= N <= high 并在這些邊界之間使用指定的 mode 。 low 和 high 邊界默認為零和一。 mode 參數(shù)默認為邊界之間的中點,給出對稱分布。 |
betavariate(alpha, beta) | Beta 分布。 參數(shù)的條件是 alpha > 0 和 beta > 0。 返回值的范圍介于 0 和 1 之間。 |
expovariate(lambd) | 指數(shù)分布。 lambd 是 1.0 除以所需的平均值,它應該是非零的。 |
gammavariate() | Gamma 分布( 不是伽馬函數(shù)) 參數(shù)的條件是 alpha > 0 和 beta > 0。 |
gauss(mu, sigma) | Gamma 分布( 不是伽馬函數(shù)) 參數(shù)的條件是 alpha > 0 和 beta > 0。 |
lognormvariate(mu, sigma) | 對數(shù)正態(tài)分布。 如果你采用這個分布的自然對數(shù),你將得到一個正態(tài)分布,平均值為 mu 和標準差為 sigma 。 mu 可以是任何值,sigma 必須大于零。 |
normalvariate(mu, sigma) | 正態(tài)分布。 mu 是平均值,sigma 是標準差。 |
vonmisesvariate(mu, kappa) | 馮·米塞斯分布。 mu 是平均角度,以弧度表示,介于0和 2*pi 之間,kappa 是濃度參數(shù),必須大于或等于零。 |
paretovariate(alpha) | 帕累托分布。 alpha 是形狀參數(shù)。 |
weibullvariate(alpha, beta) | 威布爾分布。 alpha 是比例參數(shù),beta 是形狀參數(shù)。 |
使用示例:
import random # 從1-100中選一個整數(shù) print(random.randint(1,100)) # 80 print(random.choice([1, 2, 3, 5, 9])) # 2 print(random.choice('A String')) # A print(random.choice(range(10))) # 8 # 從 1-100 中選取一個奇數(shù) print(random.randrange(1, 100, 2)) # 57 # 從 0-99 選取一個隨機數(shù) print(random.randrange(100)) # 91 # 隨機選取0到100間的偶數(shù) print(random.randrange(0, 101, 2)) # 22 print(random.random()) # 0.699045676948276 print(random.uniform(1, 100)) # 66.79353123577998
保留小數(shù)到指定位數(shù)
# 向下取整,轉為整數(shù) print(int(58.86)) # 58 import math # 向上取整,轉為整數(shù) print(math.ceil(58.86)) # 59 # 四舍五入,轉為整數(shù) print(round(58.86)) # 59 # 四舍五入,保留2位小數(shù) print(round(4.859999999999999, 2)) # 4.86 # 分割整數(shù)和小數(shù) print(str(58.866).split(".")[0]) # 58
三角函數(shù)
函數(shù) | 說明 |
---|---|
acos(x) | 返回x的反余弦弧度值。 |
asin(x) | 返回x的反正弦弧度值。 |
atan(x) | 返回x的反正切弧度值。 |
atan2(y, x) | 返回給定的 X 及 Y 坐標值的反正切值。 |
cos(x) | 返回x的弧度的余弦值。 |
hypot(x, y) | 返回歐幾里德范數(shù) sqrt(xx + yy)。 |
sin(x) | 返回的x弧度的正弦值。 |
tan(x) | 返回x弧度的正切值。 |
degrees(x) | 將弧度轉換為角度,如degrees(math.pi/2) , 返回90.0。 |
radians(x) | 將角度轉換為弧度。 |
到此這篇關于Python中數(shù)字(Number)數(shù)據(jù)類型常用操作的文章就介紹到這了,更多相關Python 數(shù)字數(shù)據(jù)類型內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
淺談pytorch中為什么要用 zero_grad() 將梯度清零
這篇文章主要介紹了pytorch中為什么要用 zero_grad() 將梯度清零的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05Pytorch中的 torch.distributions庫詳解
這篇文章主要介紹了Pytorch中的 torch.distributions庫,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-02-02pytorch中的nn.Unfold()函數(shù)和fold()函數(shù)解讀
這篇文章主要介紹了pytorch中的nn.Unfold()函數(shù)和fold()函數(shù)用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08