20个Python编写的随机NamedTypes()生成函数
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;
