欢迎访问宙启技术站
智能推送

20个Python编写的随机NamedTypes()生成函数

发布时间:2023-12-12 18:29:24

Python中的NamedTypes()是一个用于随机生成不同类型数据的函数,包括字符串、整数、浮点数、布尔值、列表、元组和字典等等。下面是20个Python编写的随机NamedTypes()生成函数,并附带使用例子:

1. 生成随机字符串的函数random_string:

import random
import string

def random_string(length):
    letters = string.ascii_lowercase
    return ''.join(random.choice(letters) for i in range(length))
    
# 使用例子
random_str = random_string(10)
print(random_str)  # 输出示例:oqcjkpqudc

2. 生成随机整数的函数random_int:

import random

def random_int(start, end):
    return random.randint(start, end)

# 使用例子
random_num = random_int(1, 10)
print(random_num)  # 输出示例:7

3. 生成随机浮点数的函数random_float:

import random

def random_float(start, end):
    return random.uniform(start, end)

# 使用例子
random_num = random_float(0.0, 1.0)
print(random_num)  # 输出示例:0.6731188467605276

4. 生成随机布尔值的函数random_boolean:

import random

def random_boolean():
    return random.choice([True, False])

# 使用例子
random_bool = random_boolean()
print(random_bool)  # 输出示例:True

5. 生成随机列表的函数random_list:

import random

def random_list(length, start, end):
    return [random.randint(start, end) for i in range(length)]

# 使用例子
random_lst = random_list(5, 1, 10)
print(random_lst)  # 输出示例:[6, 9, 3, 8, 5]

6. 生成随机元组的函数random_tuple:

import random

def random_tuple(length, start, end):
    return tuple(random.randint(start, end) for i in range(length))

# 使用例子
random_tpl = random_tuple(3, 1, 5)
print(random_tpl)  # 输出示例:(3, 4, 2)

7. 生成随机字典的函数random_dict:

import random
import string

def random_dict(length, key_length, value_length):
    keys = [''.join(random.choice(string.ascii_lowercase) for i in range(key_length)) for j in range(length)]
    values = [''.join(random.choice(string.ascii_lowercase) for i in range(value_length)) for j in range(length)]
    return {k: v for k, v in zip(keys, values)}

# 使用例子
random_dict = random_dict(3, 4, 6)
print(random_dict)  # 输出示例:{'nyal': 'bzehbh', 'tests': 'ynwhzs', 'xqrf': 'fhasxc'}

8. 生成随机日期的函数random_date:

import random
import datetime

def random_date(start, end):
    diff = end - start
    random_days = random.randint(0, diff.days)
    return start + datetime.timedelta(days=random_days)

# 使用例子
start_date = datetime.datetime(2022, 1, 1)
end_date = datetime.datetime(2022, 12, 31)
random_dt = random_date(start_date, end_date)
print(random_dt)  # 输出示例:2022-07-03 00:00:00

9. 生成随机IP地址的函数random_ip:

import random

def random_ip():
    return '.'.join(str(random.randint(0, 255)) for _ in range(4))

# 使用例子
random_ip = random_ip()
print(random_ip)  # 输出示例:192.168.1.100

10. 生成随机邮箱地址的函数random_email:

import random
import string

def random_email(length):
    letters = string.ascii_lowercase
    username = ''.join(random.choice(letters) for i in range(length))
    domain = random.choice(['gmail.com', 'yahoo.com', 'hotmail.com'])
    return f'{username}@{domain}'

# 使用例子
random_email = random_email(8)
print(random_email)  # 输出示例:qflnwunder@gmail.com

11. 生成随机手机号的函数random_phone_number:

import random

def random_phone_number():
    area_code = random.choice(['13', '14', '15', '17', '18'])
    number = ''.join(str(random.randint(0, 9)) for _ in range(8))
    return f'{area_code}{number}'

# 使用例子
random_phone = random_phone_number()
print(random_phone)  # 输出示例:13573285649

12. 生成随机身高的函数random_height:

import random

def random_height():
    return random.uniform(150, 200)

# 使用例子
random_height = random_height()
print(random_height)  # 输出示例:176.5432542966747

13. 生成随机体重的函数random_weight:

import random

def random_weight():
    return random.uniform(50, 100)

# 使用例子
random_weight = random_weight()
print(random_weight)  # 输出示例:63.3871585741941

14. 生成随机用户名的函数random_username:

import random
import string

def random_username(length):
    letters = string.ascii_lowercase
    return ''.join(random.choice(letters) for i in range(length))

# 使用例子
random_username = random_username(6)
print(random_username)  # 输出示例:qflnwe

15. 生成随机密码的函数random_password:

import random
import string

def random_password(length):
    letters = string.ascii_letters + string.digits + string.punctuation
    return ''.join(random.choice(letters) for i in range(length))

# 使用例子
random_pwd = random_password(10)
print(random_pwd)  # 输出示例:v+4L<_HwI?

16. 生成随机IPv6地址的函数random_ipv6:

import random

def random_ipv6():
    groups = [random.randint(0, 65535) for _ in range(8)]
    ipv6_address = ':'.join(f'{group:04x}' for group in groups)
    return ipv6_address

# 使用例子
random_ipv6 = random_ipv6()
print(random_ipv6)  # 输出示例:15ea:1e5b:9e1d:e1cd:109a:60c9:3d31:c956

17. 生成随机MAC地址的函数random_mac:

import random

def random_mac():
    mac = [random.randint(0x00, 0xff) for _ in range(6)]
    mac_address = ':'.join(f'{byte:02x}' for byte in mac)
    return mac_address

# 使用例子
random_mac = random_mac()
print(random_mac)  # 输出示例:69:4b:0c:10:e8:43

18. 生成随机RGB颜色的函数random_rgb:

import random

def random_rgb():
    r = random.randint(0, 255)
    g = random.randint(0, 255)
    b = random.randint(0, 255)
    return r, g, b

# 使用例子
random_color = random_rgb()
print(random_color)  # 输出示例:(123, 45, 67)

19. 生成随机HTTP User-Agent的函数random_user_agent:

`python

import random

def random_user_agent():

user_agents = [

'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',

'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36',

'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0',

'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0'

]

return random.choice(user_agents)

# 使用例子

user_agent = random_user_agent()

print(user_agent) # 输出示例:Mozilla/5.0 (Windows NT 10.0; Win64; x64;