日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

Python中數(shù)字(Number)數(shù)據(jù)類型常用操作_python

作者:老街頭的貓。 ? 更新時(shí)間: 2023-05-14 編程語(yǔ)言

數(shù)字運(yùn)算

  • =:用于給變量賦值
  • type(x):查看數(shù)據(jù)所屬類型
  • isinstance(x, A_tuple):判斷數(shù)據(jù)是否為預(yù)期類型
  • +:兩個(gè)數(shù)相加
  • -:兩個(gè)數(shù)相減
  • *:兩個(gè)數(shù)相乘
  • /:兩個(gè)數(shù)相除
  • %:兩個(gè)數(shù)進(jìn)行求余
  • **:兩個(gè)數(shù)進(jìn)行冪運(yùn)算
# 給變量賦值數(shù)字類型數(shù)據(jù)
int_data = 100				# 整數(shù) int
float_data = 8.88			# 小數(shù) float
complex_data = 3+5j			# 復(fù)數(shù) complex

# 查看變量所屬數(shù)據(jù)類型
print(type(int_data))       # <class 'int'>
print(type(float_data))     # <class 'float'>
print(type(complex_data))   # <class 'complex'>

# 判斷兩個(gè)數(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ù)和浮點(diǎn)數(shù)運(yùn)算結(jié)果為浮點(diǎn)數(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

# 冪運(yùn)算
print(5 ** 2)	# 5的平方,25
print(2 ** 7)	# 2的7次方,128

類型轉(zhuǎn)換

  • int(x, base=10):將一個(gè)字符串或數(shù)字轉(zhuǎn)換為整型。x為字符串或數(shù)字,base為進(jìn)制數(shù),默認(rèn)10進(jìn)制。
  • float(x):將一個(gè)字符串或數(shù)字轉(zhuǎn)換為浮點(diǎn)數(shù)。x為字符串或整數(shù)。
# int() 
# 不傳參數(shù)則為0
int()			# 0
# 將字符串轉(zhuǎn)為整數(shù)
int("666")		# 666
# 向下取整
int(6.66)		# 6
# 將數(shù)字轉(zhuǎn)為8進(jìn)制
int('12',8)		# 10

# flaot()
# 不傳參數(shù)則為0.0
flaot()			# 0.0
# 將字符串轉(zhuǎn)為浮點(diǎn)數(shù)
float("6.88")	# 6.88

注意:如果轉(zhuǎn)換內(nèi)容中出現(xiàn)非數(shù)字字符則會(huì)報(bào)錯(cuò)。

數(shù)學(xué)函數(shù)

函數(shù) 說(shuō)明
abs(x) 返回?cái)?shù)字的絕對(duì)值。x為數(shù)值表達(dá)式。
max(x) 返回給定參數(shù)的最大值,參數(shù)可以為序列。
min(x) 返回給定參數(shù)的最小值,參數(shù)可以為序列。
pow(x, y, z) 返回x的y次方的值。如果z存在則對(duì)結(jié)果進(jìn)行取模,等效于pow(x,y) %z
round(number, digits) 返回number保留digits位四舍五入的小數(shù),digits不填默認(rèn)為保留整數(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ù)學(xué)庫(kù)math、cmath

  • math:模塊提供了許多對(duì)浮點(diǎn)數(shù)的數(shù)學(xué)運(yùn)算函數(shù)。
  • cmath:模塊包含了一些用于復(fù)數(shù)運(yùn)算的函數(shù)。

查看math中包含的內(nèi)容:

import math

print(dir(math))

# 打印內(nèi)容
[
    '__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 模塊常量

常量 說(shuō)明
math.e 返回歐拉數(shù) (2.7182…)
math.inf 返回正無(wú)窮大浮點(diǎn)數(shù)
math.nan 返回一個(gè)浮點(diǎn)值 NaN (not a number)
math.pi π 一般指圓周率。 圓周率 PI (3.1415…)
math.tau 數(shù)學(xué)常數(shù) τ = 6.283185…,精確到可用精度。Tau 是一個(gè)圓周常數(shù),等于 2π,圓的周長(zhǎng)與半徑之比。

math 模塊方法

函數(shù) 說(shuō)明
math.acos(x) 返回 x 的反余弦,結(jié)果范圍在 0 到 pi 之間。
math.acosh(x) 返回 x 的反雙曲余弦值。
math.asin(x) 返回 x 的反正弦值,結(jié)果范圍在 -pi/2 到 pi/2 之間。
math.asinh(x) 返回 x 的反雙曲正弦值。
math.atan(x) 返回 x 的反正切值,結(jié)果范圍在 -pi/2 到 pi/2 之間。
math.atan2(y, x) 返回給定的 X 及 Y 坐標(biāo)值的反正切值,結(jié)果是在 -pi 和 pi 之間。
math.atanh(x) 返回 x 的反雙曲正切值。
math.ceil(x) 將 x 向上舍入到最接近的整數(shù)
math.comb(n, k) 返回不重復(fù)且無(wú)順序地從 n 項(xiàng)中選擇 k 項(xiàng)的方式總數(shù)。
math.copysign(x, y) 返回一個(gè)基于 x 的絕對(duì)值和 y 的符號(hào)的浮點(diǎn)數(shù)。
math.cos() 返回 x 弧度的余弦值。
math.cosh(x) 返回 x 的雙曲余弦值。
math.degrees(x) 將角度 x 從弧度轉(zhuǎn)換為度數(shù)。
math.dist(p, q) 返回 p 與 q 兩點(diǎn)之間的歐幾里得距離,以一個(gè)坐標(biāo)序列(或可迭代對(duì)象)的形式給出。 兩個(gè)點(diǎn)必須具有相同的維度。
math.erf(x) 返回一個(gè)數(shù)的誤差函數(shù)
math.erfc(x) 返回 x 處的互補(bǔ)誤差函數(shù)
math.exp(x) 返回 e 的 x 次冪,Ex, 其中 e = 2.718281… 是自然對(duì)數(shù)的基數(shù)。
math.expm1() 返回 Ex - 1, e 的 x 次冪,Ex,其中 e = 2.718281… 是自然對(duì)數(shù)的基數(shù)。這通常比 math.e ** x 或 pow(math.e, x) 更精確。
math.fabs(x) 返回 x 的絕對(duì)值。
math.factorial(x) 返回 x 的階乘。 如果 x 不是整數(shù)或?yàn)樨?fù)數(shù)時(shí)則將引發(fā) ValueError。
math.floor() 將數(shù)字向下舍入到最接近的整數(shù)
math.fmod(x, y) 返回 x/y 的余數(shù)
math.frexp(x) 以 (m, e) 對(duì)的形式返回 x 的尾數(shù)和指數(shù)。 m 是一個(gè)浮點(diǎn)數(shù), e 是一個(gè)整數(shù),正好是 x == m * 2**e 。 如果 x 為零,則返回 (0.0, 0) ,否則返回 0.5 <= abs(m) < 1 。
math.fsum(iterable) 返回可迭代對(duì)象 (元組, 數(shù)組, 列表, 等)中的元素總和,是浮點(diǎn)值。
math.gamma(x) 返回 x 處的伽馬函數(shù)值。
math.gcd() 返回給定的整數(shù)參數(shù)的最大公約數(shù)。
math.hypot() 返回歐幾里得范數(shù),sqrt(sum(x**2 for x in coordinates))。 這是從原點(diǎn)到坐標(biāo)給定點(diǎn)的向量長(zhǎng)度。
math.isclose(a,b *,rel_tol=1e-09,abs_tol=0.0) 檢查兩個(gè)值是否彼此接近,若 a 和 b 的值比較接近則返回 True,否則返回 False。
math.isfinite(x) 判斷 x 是否有限,如果 x 既不是無(wú)窮大也不是 NaN,則返回 True ,否則返回 False 。
math.isinf(x) 判斷 x 是否是無(wú)窮大,如果 x 是正或負(fù)無(wú)窮大,則返回 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 絕對(duì)值的自然對(duì)數(shù)。
math.log(x[, base]) 使用一個(gè)參數(shù),返回 x 的自然對(duì)數(shù)(底為 e )。
math.log10(x) 返回 x 底為 10 的對(duì)數(shù)。
math.log1p(x) 返回 1+x 的自然對(duì)數(shù)(以 e 為底)。
math.log2(x) 返回 x 以 2 為底的對(duì)數(shù)
math.perm(n, k=None) 返回不重復(fù)且有順序地從 n 項(xiàng)中選擇 k 項(xiàng)的方式總數(shù)。
math.pow(x, y) 將返回 x 的 y 次冪。
math.prod(iterable) 計(jì)算可迭代對(duì)象中所有元素的積。
math.radians(x) 將角度 x 從度數(shù)轉(zhuǎn)換為弧度。
math.remainder(x, y) 返回 IEEE 754 風(fēng)格的 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 截?cái)嗾麛?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

隨機(jī)函數(shù)庫(kù) random

查看random中包含的內(nèi)容:

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ù) 說(shuō)明
seed() 初始化隨機(jī)數(shù)生成器。
getstate() 返回捕獲生成器當(dāng)前內(nèi)部狀態(tài)的對(duì)象。
setstate() state 應(yīng)該是從之前調(diào)用 getstate() 獲得的,并且 setstate() 將生成器的內(nèi)部狀態(tài)恢復(fù)到 getstate() 被調(diào)用時(shí)的狀態(tài)。
getrandbits(k) 返回具有 k 個(gè)隨機(jī)比特位的非負(fù) Python 整數(shù)。 此方法隨 MersenneTwister 生成器一起提供,其他一些生成器也可能將其作為 API 的可選部分提供。 在可能的情況下,getrandbits() 會(huì)啟用 randrange() 來(lái)處理任意大的區(qū)間。
randrange() 從 range(start, stop, step) 返回一個(gè)隨機(jī)選擇的元素。
randint(a, b) 返回隨機(jī)整數(shù) N 滿足 a <= N <= b。
choice(seq) 從非空序列 seq 返回一個(gè)隨機(jī)元素。 如果 seq 為空,則引發(fā) IndexError。
choices(population, weights=None, *, cum_weights=None, k=1) 從 population 中選擇替換,返回大小為 k 的元素列表。 如果 population 為空,則引發(fā) IndexError。
shuffle(x[, random]) 將序列 x 隨機(jī)打亂位置。
sample(population, k, *, counts=None) 返回從總體序列或集合中選擇的唯一元素的 k 長(zhǎng)度列表。 用于無(wú)重復(fù)的隨機(jī)抽樣。
random() 返回 [0.0, 1.0) 范圍內(nèi)的下一個(gè)隨機(jī)浮點(diǎn)數(shù)。
uniform(x, y) 隨機(jī)生成下一個(gè)實(shí)數(shù),它在[x,y]范圍內(nèi)。
triangular(low, high, mode) 返回一個(gè)隨機(jī)浮點(diǎn)數(shù) N ,使得 low <= N <= high 并在這些邊界之間使用指定的 mode 。 low 和 high 邊界默認(rèn)為零和一。 mode 參數(shù)默認(rèn)為邊界之間的中點(diǎn),給出對(duì)稱分布。
betavariate(alpha, beta) Beta 分布。 參數(shù)的條件是 alpha > 0 和 beta > 0。 返回值的范圍介于 0 和 1 之間。
expovariate(lambd) 指數(shù)分布。 lambd 是 1.0 除以所需的平均值,它應(yīng)該是非零的。
gammavariate() Gamma 分布( 不是伽馬函數(shù)) 參數(shù)的條件是 alpha > 0 和 beta > 0。
gauss(mu, sigma) Gamma 分布( 不是伽馬函數(shù)) 參數(shù)的條件是 alpha > 0 和 beta > 0。
lognormvariate(mu, sigma) 對(duì)數(shù)正態(tài)分布。 如果你采用這個(gè)分布的自然對(duì)數(shù),你將得到一個(gè)正態(tài)分布,平均值為 mu 和標(biāo)準(zhǔn)差為 sigma 。 mu 可以是任何值,sigma 必須大于零。
normalvariate(mu, sigma) 正態(tài)分布。 mu 是平均值,sigma 是標(biāo)準(zhǔn)差。
vonmisesvariate(mu, kappa) 馮·米塞斯分布。 mu 是平均角度,以弧度表示,介于0和 2*pi 之間,kappa 是濃度參數(shù),必須大于或等于零。
paretovariate(alpha) 帕累托分布。 alpha 是形狀參數(shù)。
weibullvariate(alpha, beta) 威布爾分布。 alpha 是比例參數(shù),beta 是形狀參數(shù)。

使用示例:

import random

# 從1-100中選一個(gè)整數(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 中選取一個(gè)奇數(shù)
print(random.randrange(1, 100, 2))		# 57
# 從 0-99 選取一個(gè)隨機(jī)數(shù)
print(random.randrange(100))			# 91
# 隨機(jī)選取0到100間的偶數(shù)
print(random.randrange(0, 101, 2))		# 22

print(random.random())					# 0.699045676948276

print(random.uniform(1, 100))			# 66.79353123577998

保留小數(shù)到指定位數(shù)

# 向下取整,轉(zhuǎn)為整數(shù)
print(int(58.86))   # 58

import math
# 向上取整,轉(zhuǎn)為整數(shù)
print(math.ceil(58.86))     # 59

# 四舍五入,轉(zhuǎn)為整數(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ù) 說(shuō)明
acos(x) 返回x的反余弦弧度值。
asin(x) 返回x的反正弦弧度值。
atan(x) 返回x的反正切弧度值。
atan2(y, x) 返回給定的 X 及 Y 坐標(biāo)值的反正切值。
cos(x) 返回x的弧度的余弦值。
hypot(x, y) 返回歐幾里德范數(shù) sqrt(xx + yy)。
sin(x) 返回的x弧度的正弦值。
tan(x) 返回x弧度的正切值。
degrees(x) 將弧度轉(zhuǎn)換為角度,如degrees(math.pi/2) , 返回90.0。
radians(x) 將角度轉(zhuǎn)換為弧度。

原文鏈接:https://blog.csdn.net/weixin_44988085/article/details/129022889

欄目分類
最近更新