random/string模块
import random
import string
print(random.randint(1,100)) #随机整数 ---> 49
print(random.randrange(0,100, 2)) #偶数,左闭右开 ---> 22
print(random.random()) #0-1浮点数,不能写范围 ---> 0.0315567033176577
print(random.uniform(1,100)) #浮点数 ---> 74.36296955498557
print(random.choice('abcdef')) #随机字符 ---> f
print(random.sample('aaaaaaaaaaa',5)) #指定数量的随机字符串,返回列表 ---> ['a', 'a', 'a', 'a', 'a']
print(string.punctuation) #特殊字符 ---> !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
string.digits # 数字字符 ---> 0123456789
string.ascii_letters #大小写字符 ---> abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
string.ascii_lowercase #所有的小写字母 --->'abcdefghijklmnopqrstuvwxyz'
string.ascii_uppercase #所有的大写字母 ---> 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.hexdigits #所有的十六进制字符 ---> '0123456789abcdefABCDEF'
string.whitespace #所有的空白字符 ---> ' \t\n\r\x0b\x0c'
# 随机获取8位字符串,思路:从字符串有效元素中获取8个然后组合成一个新的字符串
# .join()连接字符串数组。将字符串/无级/列表中的元素以指定的字符(分隔符)连接生成一个新的字符串,不用join的话,生成的是一个列表,用join生成的是一个字符串
goal = ''.join(random.sample(string.ascii_letters + string.digits + string.punctuation, 8)) #指定数量的随机字符串
print(goal) ---> =eOnKf.|
goal1 = random.sample(string.ascii_letters, 2)
print(goal1) ---> ['M', 'I']
a = ['1', '2', '3', '4', '5']
b = [1, 2, 3, 4, 5]
print(''.join(b)) #会报错TypeError: sequence item 0: expected str instance, int found
print(''.join(a)) ---> 12345
goal2 = random.sample(string.ascii_letters + string.digits + string.punctuation, 8)
print(goal2) ---> ['s', 'v', 'K', ')', "'", '?', 'H', 'Z']
print(''.join(goal2)) ---> svK)'?HZ
# shuffle() 方法将序列的所有元素随机排序
items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
random.shuffle(items)
print(items) ---> [3, 1, 6, 7, 2, 5, 4, 9, 0, 8]
def gen_random_string(ram):
'''产生随机字符串'''
random.shuffle(ram)
return ''.join(ram) # join只连接字符串,或是数字,需用map转换--再把map转为list
# return ram
ram = (1,2,3)
print(list(map(str,ram))) ---> ['1', '2', '3']
ram = list('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ''0123456789-') # 元组值不可修改,需转为list
print(gen_random_string(ram)) ---> -tCQKjadBeHgGr3SWbVxswYXo8Z5Dnhcqi01Lf9FTNMPIJlOzAU2mu4p6yR7kvE
list1 = [20, 16, 10, 5]
print(gen_random_string(list(map(str,list1)))) ---> 1651020
# 转发:https://blog.csdn.net/kongsuhongbaby/article/details/83181768
s="We met at the wrong time, but separated at the right time. The most urgen \
t is to take the most beautiful scenery!!! the deepest wound was the most real emotions."
# 方法一
# for i in s:
# if i in string.punctuation: #如果字符是标点符号的话就将其替换为空格
# s = s.replace(i," ")
# print(s)
# 方法二
# print(s.split()) # 按空白切割
# 方法三
"""
https://blog.csdn.net/kongsuhongbaby/article/details/83181768
\b可以简单理解为单词的边界(更具体来说就是字母数字和非字母数字的边界)
\w表示字母数字下划线
+在正则中表示匹配前一个字符出现1次或者多次
re.findall是将全部的单词找出来
'\b\w+\b'匹配一个单词
"""
print(re.findall(r'\b\w+\b',s))
转发:
浙公网安备 33010602011771号