random.random()用于生成一个0到1的随机符小数: 0 <= n < 1.0
np.random.rand()通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1
random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。a <= n <= b
np.random.randn()函数,通过本函数可以返回一个或一组服从标准正态分布的随机样本值,由 np.random.randn()函数所产生的随机样本基本上取值主要在-1.96~+1.96之间,当然也不排除存在较大值的情形,只是概率较小而已。
np.random.randn(d0,d1,d2……dn) 1)当函数括号内没有参数时,则返回一个浮点数;
2)当函数括号内有一个参数时,则返回秩为1的数组,不能表示向量和矩阵;
3)当函数括号内有两个及以上参数时,则返回对应维度的数组,能表示向量或矩阵;
4)np.random.standard_normal()函数与np.random.randn()类似,但是np.random.standard_normal()
的输入参数为元组(tuple). 5)np.random.randn()的输入通常为整数,但是如果为浮点数,则会自动直接截断转换为整数。
random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。
random.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱
import random
print( random.randint(1,10) ) # 产生 1 到 10 包括10的一个整数型随机数
print( random.random() ) # 产生 0 到 1 之间的随机浮点数不包括1
print( random.uniform(1.1,5.4) ) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
print( random.choice('tomorrow') ) # 从序列中随机选取一个元素
print( random.randrange(1,100,2) ) # 生成从1到100的间隔为2的随机整数
a=[1,3,5,6,7] # 将序列a中的元素顺序打乱
random.shuffle(a)
print(a)
# 多个字符中生成指定数量的随机字符:
print (random.sample('zyxwvutsrqponmlkjihgfedcba',5))
# 从a-zA-Z0-9生成指定数量的随机字符:
ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
print (ran_str)
# 多个字符中选取指定数量的字符组成新字符串:
print( ''.join(random.sample(['z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'], 5)))
实例运用
python生成10个8位含大小写数字的随机密码,每个密码一行,并生成一个名叫随机密码的文档保存
import random
import string
a=string.ascii_letters+string.digits
key=[]
keyall=[]
for i in range(10):
key=random.sample(a,8)#生成有8个单字符的一个列表
keys="".join(key)#列表转换成1整个长字符串
keyall.append(keys+'\n')#转换成8个长字符串组成的一个列表
fo = open('随机密码.txt','w',encoding='utf-8')
#有的话就打开文件,没有的话就新建一个
fo.writelines(keyall)#这里只能是单个列表不能是嵌套列表
fo.close()#写入时要注意关闭文件才能写入
补充一下string库
参考
https://blog.youkuaiyun.com/dakenan1/article/details/100515767?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161190619416780274197009%252522%25252C%252522scm%252522%25253A%25252220140713.130102334…%252522%25257D&request_id=161190619416780274197009&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-100515767.first_rank_v2_pc_rank_v29&utm_term=random.random%2528%2529%25E7%259A%2584%25E7%2594%25A8%25E6%25B3%2595