Python模块 random
python中的random模块是内建(built-in),用来生成随机数的,常用的函数如下:
使用交互模式举例子
Python 2.7.12 (default, Dec 4 2017, 14:50:18) [GCC 5.4.0 20160609] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import random #查看random模块下的函数 >>> dir(random) ['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', 'WichmannHill', '_BuiltinMethodType', '_MethodType', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_acos', '_ceil', '_cos', '_e', '_exp', '_hashlib', '_hexlify', '_inst', '_log', '_pi', '_random', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'division', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'jumpahead', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate'] # 生成1至10(不包含10)的一个随机数,整型int >>> random.randint(1,10) 10 # 生成一个0到1之间的随机浮点数,包括0但不包括1,也就是[0.0, 1.0) >>> random.random() 0.45351869971251213 >>> random.random() 0.22462490577606353 # random.uniform(a, b)生成a至b之间的随机浮点数 # 与randint不同的是,a、b可以不是整数,也不用考虑大小 >>> random.uniform(1, 5) 4.253616977571431 >>> random.uniform(3.5, 5.9) 4.112165661774612 >>> random.uniform(5.9, 3.5) 4.710955790979342 >>> # random.choice(seq) 从序列中随机选取一个元素 # seq需要时一个序列,例如list、元组、字符串 >>> random.choice([1, 2, 3, 4]) 1 >>> random.choice(['g', 'k', 'o']) 'g' >>> random.choice(['hello', 'hi', 'say']) 'say' # random.randrange(start, stop, step)生成一个从star到stop(不包括stop) # 间隔为step的随机整数,start、stop、step都要为整数,且start>> random.randrange(0, 20, 2) 0 >>> random.randrange(0, 20, 2) 2 >>> random.randrange(0, 20, 2) 14 >>> random.randrange(0, 20, 2) 16 >>> random.randrange(0, 20, 2) 10 >>> random.randrange(0, 20, 2) 2 # random.sample(p, k)从p序列获取k个元素,生成一个新的序列 # sample不改变原来的序列 >>> a = [1, 2, 3, 4, 5, 6] >>> random.sample(a, 3) [3, 4, 5] >>> random.sample(a, 4) [1, 6, 4, 2] >>> a [1, 2, 3, 4, 5, 6] >>> # random.shuffle(x)把序列x中的元素顺序打乱,shuffle直接改变原有的序列 >>> a = [1, 2, 3, 4, 5] >>> random.shuffle(a) >>> a [4, 1, 5, 3, 2] # 该函数没有返回值,不能直接print >>> print(random.shuffle(a)) None >>> # random.seed(a=None, version=2)初始化随机数生成器 # 初始化伪随机数生成器。如果未提供a或者a=None #则使用系统时间为种子。如果a是一个整数,则作为种子。 >>> random.seed(1) >>> random.random() 0.13436424411240122 >>> random.random() 0.8474337369372327 >>> random.random() 0.763774618976614 # 感受一下 >>> random.seed(1) >>> random.random() 0.13436424411240122 >>> random.random() 0.8474337369372327 >>> random.random() 0.763774618976614 >>>
THE END
二维码
共有 0 条评论