Python生成隨機數字和字符詳情

random庫

random是python自帶庫,使用前導入 import random 即可,無需安裝。

舉例:

import random

print(random.random())	# 0.8564557389763434
print(random.uniform(0, 100))	# 78.19630268831175
print(random.randint(0, 100))	# 45

print(random.choice('12345'))	# 4
print(random.choice([1,2,3,4,5]))	# 1
print(random.choice((1,2,3,4,5)))	# 5

print(random.sample('12345', 3))	# ['1', '5', '2']
print(random.sample([1,2,3,4,5], 3))	# [5, 4, 1]
print(random.sample((1,2,3,4,5), 3))	# [4, 5, 1]

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

print(random.randrange(0,20,5))	# 10

生成一個指定長度的隨機字符串

使用random.randint(0,n)

思路:定義一個基礎字符序列,要產生多長的字符串就循環調用多少次random.randint(0,n),n=基礎字符序列的長度,在這個序列中選擇隨機位置的字符,然後進行拼接返回。

import random
import string

def generate_random_str(randomlength=16):
  """
  生成一個指定長度的隨機字符串
  """
  random_str =''
    # 使用string庫中的字母、數字和標點符號組成一個基礎字符序列
  base_str = string.ascii_letters + string.digits + string.punctuation
  length =len(base_str) -1
  for i in range(randomlength):
    random_str +=base_str[random.randint(0, length)]
  return random_str

print(generate_random_str(30))	# T`^7:C?z4h0qd!JpO:MFNB2_GL>dXm

使用random.choice()隨機選擇

import random
import string

def generate_random_str(randomlength=16):
    """
      生成一個指定長度的隨機字符串
    """
    # 使用string庫中的字母、數字和標點符號拼接程序列
    str_list = [random.choice(string.ascii_letters + string.digits + string.punctuation) for i in range(randomlength)]
    random_str = ''.join(str_list)
    return random_str
print(generate_random_str(30))	# ')8D@Bu&\1ltf!}HUcI-.;^>Vy[n|V

使用random.simple()隨機選擇

import random
import string

def generate_random_str(randomlength=16):
    """
    生成一個指定長度的隨機字符串
    """
    # 使用string庫中的字母、數字和標點符號組成一個基礎字符序列
    base_str = string.ascii_letters + string.digits + string.punctuation
    str_lst = random.sample(base_str, randomlength)	#randomlength<=lenth(base_str)
    random_str = ''.join(str_lst)
    return random_str

Faker庫

使用Faker庫可生成各種各樣的偽數據(姓名、地址、郵箱、電話、密碼、一段文字、一句話等)。
安裝:pip install faker
導入:from faker import Faker

示例:

from faker import Faker
fk = Faker(locale='zh-Cn')

# 姓名
print(fk.name())	# 劉娜
# 身份證
print(fk.ssn())		# 141022195412020845
# 手機號
print(fk.phone_number())	# 18226186826
# 郵箱
print(fk.email())	# [email protected]

個人信息類

數字類

文本、加密類

日期類

地理信息類

from faker import Faker
fk = Faker(locale='zh-Cn')

# 從[0,9]中隨機獲取7位數字(可重復)
print([fk.random_digit() for i in range(7)])	# [2, 0, 7, 8, 2, 3, 2]
# 從[0,9]中隨機獲取7位數字(不可重復)
print([fk.unique.random_digit() for i in range(7)])		# [4, 9, 3, 6, 8, 5, 2]

到此這篇關於Python生成隨機數字和字符詳情的文章就介紹到這瞭,更多相關Python生成隨機數字內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: