常用的標準庫
數學模塊
import math
ceil -- 上取整
對一個數向上取整(進一法),取相鄰最近的兩個整數的最大值,
import math
res = math.ceil(4.1)
print(res) # 5
floor -- 下取整
對一個數向下取整(退一法),取相鄰最近的兩個整數的最小值,
import math
res = math.floor(-3.9)
print(res) # -4
四舍五入
將常用的內置函式 -- round,
pow -- 冪運算
計算一個數字的N次方,
import math
""" 呼叫的數學模塊中的方法和內置的主要區別就是內置回傳整數,數學模塊回傳小數 """
# 數學模塊
res = math.pow(2, 3)
print(res) # 8.0
# 內置函式
res = pow(2, 3)
print(res) # 8
# 更簡單的方法就是使用 ** 進行冪運算
res = 2 ** 3
print(res) # 8
sqrt -- 開平方運算
import math
res = math.sqrt(9) # 結果為浮點型
print(res) # 3.0
fabs -- 絕對值
import math
""" 呼叫的數學模塊中的方法和內置的主要區別就是內置回傳整數,數學模塊回傳小數 """
# 數學模塊
res = math.fabs(-12341234123)
print(res) # 12341234123.0
# 內置函式
res = abs(-12341234123)
print(res) #12341234123
modf -- 拆分整數小數
將一個數值拆分為小數和整數兩個部分,組成元組,值為浮點型,
import math
res = math.modf(100.666)
print(res) # (0.6659999999999968, 100.0)
copysign -- 正負拷貝
將第二個引數的正負狀態拷貝給第一引數,(回傳浮點型)
import math
res = math.copysign(100, -200)
print(res) # -100.0
fsum -- 序列和
將一個容器中的元素進行求和運算(結果為浮點數)
import math
lst = [1, 2, 3]
res = math.fsum(lst)
print(res) # 6.0
pi -- 圓周率常數
import math
res = math.pi
print(res) # 3.141592653589793
factorial -- 因數
import math
# 求5的因數
factor = math.factorial(5)
print(factor) # 120
隨機模塊
import random
random -- 獲取 0~~1 之間的小數
random 隨機獲取0 ~ 1之間的小數(左閉右開)0 <= x < 1
import random
res = random.random()
print(res) # 0.15195915170299268
randrange -- 獲取指定范圍內的整數
語法:rangrange(start, end[, step])
randint -- 獲取指定范圍整數
語法:randint(a, b)
相比 randrange 靈活性低,但是結束值可用
uniform -- 獲取指定范圍內隨機小數(左閉右開)
import random
# uniform 獲取指定范圍內的隨機小數(左閉右開)
res = random.uniform(1, 3)
print(res) # 2.81589512983781
# 因為內置機制的原因(uniform 可以將數值顛倒,并達到相同的效果)
res = random.uniform(3, 1)
print(res) # 1.4023313207919326
choice -- 隨機獲取序列中的值(多選一)
import random
# 可以嘗試使用 randrange 實作
lst = ['A', 'B', 'C', 'D', 'E']
res = random.choice(lst)
print(res) # E
sample -- 隨機獲取序列中的值(多選多,回傳串列)
語法:sample(poplation, num)
import random
lst = ['A', 'B', 'C', 'D', 'E', 'F']
res = random.sample(lst, 1)
print(res) # ['F']
res = random.sample(lst, 2)
print(res) # ['C', 'A']
shuffle -- 隨機打亂序列中的值(原地址操作)
import random
lst = ['A', 'B', 'C', 'D', 'E', 'F']
random.shuffle(lst)
print(lst) # ['F', 'D', 'C', 'B', 'E', 'A']
實作隨機驗證碼
import random
def getVer():
ver_code = ''
# 隨機抽取四個字符
for i in range(4):
s_char = chr(random.randrange(97, 123))
b_char = chr(random.randrange(65, 91))
num = str(random.randrange(10))
lst = [s_char, b_char, num]
ver_code += random.choice(lst)
return ver_code
ver = getVer()
print(ver) # b4Vq
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/477709.html
標籤:Python
上一篇:strsplit多個分隔符r
