Python__模块(M)__random / secrets

random(参考代码)

随机整数

import random
r1 = random.randint(1, 10)
print(r1) 
# >>> 5

随机0~1之间的浮点数

import random
r2 = random.random()
print(r2)
# >>> 0.39400893239852774

随机浮点数

import random
r3 = random.uniform(1.1, 5.4)
print(r3)
# >>> 4.301474125167765

随机0~100范围内,间隔2的随机数

import random
r4 = random.randrange(0, 100, 2)
print(r4)
# >>> 4

随机字符

import random
r5 = random.choice('ABCDEFG')
print(r5)
# >>> D

随机列表元素

import random
print(random.choice(["剪刀", "石头", "布"]))
# >>> 剪刀

随机打乱列表

import random
arr = [1, 2, 3, 4, 5]
random.shuffle(arr)
print(arr)
# >>> [3, 2, 1, 4, 5]

随机抽取指定长度的字符

import random
r7 = "ABCDEFGHIJK"
print(r7 + "(随机抽取5位数):", random.sample(r7, 5))
# >>> ABCDEFGHIJK(随机抽取5位数): ['C', 'H', 'D', 'B', 'J']

随机抽取指定长度的列表元素

import random
words = ["apple", "pear", "banana", "watermelon", "grape", "tomato", "orange"]
wd_rand = random.sample(words, 3)
print("随机抽取3个: ", wd_rand)
# >>> 随机抽取3个:  ['pear', 'banana', 'watermelon']

随机指定长度字符串

import random,string
ran_str = "".join(random.sample(string.ascii_letters + string.digits, 8))
print(ran_str)
# >>> wfxYoU6t
print(string.ascii_letters, "#########", string.digits)
# >>> abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ######### 0123456789

secrets(简介)

常用于Token,生成的随机长字符串。


secrets(参考代码)

综合例子

import secrets

rand_byte = secrets.token_bytes()
rand_hex = secrets.token_hex()
rand_url = secrets.token_urlsafe()

print("随机字节:", rand_byte)
# >>> 随机字节: b'\xdc\xddA\xf9\x00\xba2\x8b\x9e\x92\x1c9\xe3\x17\x9a\xb6\xf3\xbap1\x8a\x0cuk(\x82\x94W\xcbr\x00\x97'
print("随机十六进制:", rand_hex)
# >>> 随机十六进制: c42154582d54af2b547eccaa07b94ada1b61bc875d69eb0df52073a902c90063
print("随机URL字符串:", rand_url)
# >>> 随机URL字符串: dfqnYf5O6FC5YbHjgnxLwT39rZOQC523IwSiBhV3wJk
url = "https://www.demo.com/" + secrets.token_urlsafe()
print(url)
# >>> https://www.demo.com/S5womuahJjxDgTq76sYigRmxf3v8M-mGqE3p4tfaMHM

猜你喜欢

转载自blog.csdn.net/werdasooooo/article/details/134994072