嘉兴优化网站哪家好,平面设计大赛网站,抖音运营方案详细,资阳地seobinary#xff1a;二进制
模块#xff08;module#xff09;#xff1a; 一般而言#xff0c;在python中#xff0c;XXX.py文件就可以认定为一个模块 一个模块一般是用来存放和管理一类功能的一个文件
包#xff08;package#xff09;#xff1a; 文件夹#xff0…binary二进制
模块module 一般而言在python中XXX.py文件就可以认定为一个模块 一个模块一般是用来存放和管理一类功能的一个文件
包package 文件夹用来管理和存放模块将相关功能的模块放在一个文件夹中 注意普通文件夹可以当作包但真正的包存放在一个_init_.py文件 一旦导入了这个包会自动执行该包中的初始化文件 模块的导入 import model_name import model_name as alias #将导入的模块重新起一个别名 import package.model_name as alias from package import model_name #推荐使用 from package import*
random函数的用法
1. random.random(): 返回随机生成的一个浮点数范围在[0,1)之间
2. random.uniform(a, b): 返回随机生成的一个浮点数范围在[a, b)之间
3. random.randint(a,b)生成指定范围内的整数
4. random.randrange([start],stop[,step])用于从指定范围内按指定基数递增的集合中获取一个随机数。
5. random.choice()从指定的序列中获取一个随机元素
6. random.shuffle(x[,random])用于将一个列表中的元素打乱随机排序
7. random.sample(sequence,k)用于从指定序列中随机获取指定长度的片段sample()函数不会修改原有序列。
8. np.random.rand(d0, d1, …, dn): 返回一个或一组浮点数范围在[0, 1)之间
9. np.random.normal(loca, scaleb, size()): 返回满足条件为均值a, 标准差b的正态分布高斯分布的概率密度随机数
10 np.random.randn(d0, d1, … dn): 返回标准正态分布(均值0标准差1)的概率密度随机数
11. np.random.standard_normal(size()): 返回标准正态分布(均值0标准差1)的概率密度随机数
12. np.random.randint(a, b, size(), dtypeint): 返回在范围在[a, b)中的随机整数含有重复值
13. random.seed(): 设定随机种子
首先我们需要导入random模块
1. random.random(): 返回随机生成的一个浮点数范围在[0,1)之间 import random print(random.random()) 2. random.uniform(a, b): 返回随机生成的一个浮点数范围在[a, b)之间 import random print(random.uniform(1,5)) 3. random.randint(a,b)生成指定范围内的整数 import random print(random.randint(1,10)) 4. random.randrange([start],stop[,step])用于从指定范围内按指定基数递增的集合中获取一个随机数。 例如random.randrange(10,100,2)结果相当于从 [10,12,14,16...96,98] 序列中获取一个随机数。random.randrange (10,100,2) 的结果上与 random.choice(range(10,100,2)) 等效。
import random print(random.randrange(10,22,3)) 5. random.choice()从指定的序列中获取一个随机元素 random.choice()从序列中获取一个随机元素其原型为random.choice(sequence)参数sequence表示一个有序类型。这里说明一下sequence在Python中不是一种特定的类型而是泛指序列数据结构。列表元组字符串都属于sequence。
import random print(random.choice(学习python)) # 从字符串中随机取一个字符 print(random.choice([good, hello, is, hi, boy])) # 从list列表中随机取 print(random.choice((str, tuple, list))) # 从tuple元组中随机取 6. random.shuffle(x[,random])用于将一个列表中的元素打乱随机排序 import random p[hehe,xixi,heihei,haha,zhizhi,lala,momo..da] random.shuffle(p) print(p) x [1, 2, 3, 4, 5] random.shuffle(x) print(x) 7. random.sample(sequence,k)用于从指定序列中随机获取指定长度的片段sample()函数不会修改原有序列。 import random list1[1,2,3,4,5,6,7,8,9,10] slicerandom.sample(list1,5) print(slice) #[8, 3, 5, 9, 10] print(list1) #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] x random.sample(range(0, 10), 5) print(x, type(x)) #[9, 2, 7, 8, 6] class list Words AppleKMedoide print(random.sample(Words, 3)) #[p, M, A] print(random.sample(Words, 3)) #[d, i, l] 下面的函数需要调用numpy库
8. np.random.rand(d0, d1, …, dn): 返回一个或一组浮点数范围在[0, 1)之间 import random import numpy as np x np.random.rand() y np.random.rand(4) print(x,type(x)) #0.09842641570445387 class float print(y,type(y)) #[0.27298291 0.12350038 0.63977128 0.90791234] class numpy.ndarray 9. np.random.normal(loca, scaleb, size()): 返回满足条件为均值a, 标准差b的正态分布高斯分布的概率密度随机数 np.random.normal(loca, scaleb, size()) - 返回满足条件为均值a, 标准差b的正态分布高斯分布的概率密度随机数size默认为None(返回1个随机数也可以为int或数组
import random import numpy as np x np.random.normal(10,0.2,2) print(x,type(x)) #[9.78391585 9.83981096] class numpy.ndarray y np.random.normal(10,0.2) print(y,type(y)) #9.871187751372984 class float z np.random.normal(0,0.1,(2,3)) print(z,type(z)) #[[-0.07114831 -0.10258022 -0.12686863] # [-0.08988384 -0.00647591 0.06990716]] class numpy.ndarray z np.random.normal(0,0.1,[2,2]) print(z,type(z)) #[[ 0.07178268 -0.00226728] # [ 0.06585013 -0.04385656]] class numpy.ndarray
10 np.random.randn(d0, d1, … dn): 返回标准正态分布(均值0标准差1)的概率密度随机数 np.random.randn(d0, d1, ... dn): 返回标准正态分布(均值0标准差1)的概率密度随机数,
import random import numpy as np x np.random.randn() y np.random.randn(3) z np.random.randn(3, 3) print(x, type(x)) print(y, type(y)) print(z, type(z)) 11. np.random.standard_normal(size()): 返回标准正态分布(均值0标准差1)的概率密度随机数 np.random.standard_normal(): 返回标准正态分布(均值0标准差1)的概率密度随机数, size默认为None(返回1个随机数也可以为int或数组
import random import numpy as np x np.random.standard_normal() y np.random.standard_normal(size(3,3)) print(x, type(x)) print(y, type(y)) np.random.rand()与np.random.standard_normal()的方法结果相似都是返回合符标准正态分布的随机浮点数或数组。
12. np.random.randint(a, b, size(), dtypeint): 返回在范围在[a, b)中的随机整数含有重复值 np.random.randint(a, b, sizie(), dytpeint) - size默认为None(返回1个随机数也可以为int或数组
import random import numpy as np # 从序列[0, 10)之间返回shape(5,5)的10个随机整数包含重复值 x np.random.randint(0, 10, size(5, 5)) # 从序列[15, 20)之间返回1个随机整数size默认为None, 则返回1个随机整数 y np.random.randint(15, 20) print(x, type(x)) print(y, type(y)) 13. random.seed(): 设定随机种子 在设定随机种子为10之后random.random()的随机数将被直接设定为0.5714025946899135
import random random.seed(10) x random.random() print(x,type(x)) random.seed(10) y random.random() print(y,type(y)) z random.random() print(z,type(z)) random随机数是这样生成的我们将这套复杂的算法是叫随机数生成器吧看成一个黑盒把我们准备好的种子扔进去它会返给你两个东西一个是你想要的随机数另一个是保证能生成下一个随机数的新的种子把新的种子放进黑盒又得到一个新的随机数和一个新的种子从此在生成随机数的路上越走越远。
我们利用如下代码进行测试
import numpy as np if __name__ __main__: i 0 while i 6: if i 3: np.random.seed(0) print(np.random.randn(1, 5)) else: print(np.random.randn(1, 5)) i 1 i 0 while i 2: print(np.random.randn(1, 5)) i 1 print(np.random.randn(2, 5)) np.random.seed(0) print(###################################) i 0 while i 8: print(np.random.randn(1,5)) i 1
通过该实验我们可以得到以下结论
两次利用随机数种子后即便是跳出循环后生成随机数的结果依然是相同的。第一次跳出while循环后进入第二个while循环得到的两个随机数组确实和加了随机数种子不一样。但是后面的加了随机数种子的八次循环中的结果和前面的结果是一样的。说明随机数种子对后面的结果一直有影响。同时加了随机数种子以后后面的随机数组都是按一定的顺序生成的。 在同样的随机种子后第六次的随机数生成结果两行五列的数组和两个一行五列的数组结果相同。说明在生成多行随机数组时是由单行随机数组组合而成的。 利用随机数种子每次生成的随机数相同就是使后面的随机数按一定的顺序生成。当随机数种子参数为0和1时生成的随机数和我上面高亮的结果相同。说明该参数指定了一个随机数生成的起始位置。每个参数对应一个位置。并且在该参数确定后其后面的随机数的生成顺序也就确定了。 随机数种子的参数怎么选择我认为随意这个参数只是确定一下随机数的起始位置。