[Python学习日记-49] Python 中的随机数模块 —— random

[Python学习日记-49] Python 中的随机数模块 —— random

简介

random 模块

简介

        程序中有很多地方需要用到随机字符,例如登录网站的随机验证码,而这些功能可以通过 random 模块来很容易生成随机字符串,然后实现这些功能,下面来一起学习一下 random 模块的一些常用方法的介绍吧。

random 模块

一、randrange()

        用于生成一个指定范围内的随机整数,语法如下

random.randrange([start], stop,[step])

参数说明:

  • start:可选,范围的起始值(默认值为0)
  • stop:范围的结束值,但不包括该值
  • step:可选,步长(默认值为1)
  • 返回一个随机选择的整数,范围在 [start, stop) 之间,按照步长 step 进行选择,演示代码如下

    import random
    
    # 生成0-9之间的随机整数
    num1 = random.randrange(10)
    print(num1)
    
    # 生成1-10之间的随机整数,不包括11
    num2 = random.randrange(1, 11)
    print(num2)
    
    # 生成1-10之间的随机偶数
    num3 = random.randrange(2, 11, 2)
    print(num3)

    代码输出如下: 

    二、randint()

            用于生成一个指定范围内的随机整数,语法如下

    random.randint(start, stop)

    参数说明:

  • start:生成随机整数的起始值
  • stop:生成随机整数的结束值
  • 函数返回一个随机选择的整数,范围在 [start, stop] 之间,包含 stop,演示代码如下

    import random
    
    # 生成0-9之间的随机整数
    num1 = random.randint(0, 9)
    print(num1)
    
    # 生成1-10之间的随机整数
    num2 = random.randint(1, 10)
    print(num2)

    代码输出如下:

    三、random()

    用于生成一个0到1之间的随机浮点数,语法如下

    random.random()

    返回一个0到1之间的随机浮点数,包括0但不包括1,演示代码如下

    import random
    
    # 生成一个0到1之间的随机浮点数
    num = random.random()
    print(num)

    代码输出如下:

    四、choice()

            用于从一个非空序列中随机选择一个元素,语法如下

    random.choice(seq)

    参数说明:

  • seq:表示一个非空的序列,可以是列表、元组、字符串等
  • 返回 seq 序列中的一个随机元素,演示代码如下

    import random
    
    # 从列表中随机选择一个元素
    fruits = ['apple', 'banana', 'orange', 'grape']
    random_fruit = random.choice(fruits)
    print(random_fruit)
    
    # 从字符串中随机选择一个字符
    word = 'hello'
    random_char = random.choice(word)
    print(random_char)

    代码输出如下:

    五、sample()

            用于从一个序列中随机选择多个元素,返回一个新的列表,语法如下

    random.sample(population, k)

    参数说明:

  • population:表示一个非空的序列,可以是列表、元组、字符串等
  • k:表示需要选择的元素个数,k 必须小于或等于 population 的大小
  • 返回一个新的列表,其中包含从 population 中随机选择的 k 个元素,演示代码如下

    import random
    import string
    
    # 从列表中随机选择两个元素
    fruits = ['apple', 'banana', 'orange', 'grape', 'kiwi']
    random_fruits = random.sample(fruits, 2)
    print(random_fruits)
    
    # 从字符串中随机选择三个字符
    word = 'hello'
    random_chars = random.sample(word, 3)
    print(random_chars)
    
    # 随机选择数字+大小写字母五个字符
    word = string.digits + string.ascii_uppercase + string.ascii_lowercase
    random_chars = random.sample(word, 5)
    print(''.join(random_chars))

    代码输出如下:

            上面代码使用了 string 模块,该模块可以提供了许多用于处理和操作字符串的函数和方法。一些常用的 string 模块函数和方法包括:

  • string.ascii_letters:包含所有的 ASCII 字母(a-z和A-Z)
  • string.ascii_lowercase:包含所有的小写 ASCII 字母(a-z)
  • string.ascii_uppercase:包含所有的大写 ASCII 字母(A-Z)
  • string.digits:包含所有的数字字符(0-9)
  • string.punctuation:包含所有的标点符号字符
  • string.capwords(s):将字符串 s 中的单词首字母大写,其他字母小写
  • string.lower(s):将字符串 s 中的所有字母转为小写
  • string.upper(s):将字符串 s 中的所有字母转为大写
  • string.strip(s, chars):删除字符串 s 开头和结尾的 chars 中包含的字符
  • string.replace(s, old, new):将字符串 s 中的 old 子串替换为 new 子串
  • 六、shuffle()

    用于对一个可变序列进行随机打乱顺序,语法如下

    random.shuffle(seq)

    参数说明:

    seq:表示一个可变序列,例如列表之类的

    该方法将会打乱原列表的顺序,并不会生成新的可变序列,演示代码如下

    import random
    import string
    
    seq = list(string.digits + string.ascii_uppercase + string.ascii_lowercase)
    print(seq)
    random.shuffle(seq)
    print(seq)

    代码输出如下:

    作者:JoveZou

    物联沃分享整理
    物联沃-IOTWORD物联网 » [Python学习日记-49] Python 中的随机数模块 —— random

    发表回复