python中利用''.join()方法以及choice()函数结合string.punctuation,生成随机特殊字符串的方法
作者:互联网
一、stirng.punctuation
1) stirng.punctuation
python3中,string.punctuation是用作字符串常量的初始化字符,它给出所有的标点集
2) 用法
使用stirng.punctuation,先确保导入字符串函数
import string
语法: string.punctuation
参数:不带任何参数,因为它不是函数。
返回:返回所有标点集。
3)实例
# 导入字符串库功能 import string # 将标点集存储在可变结果中 str = string.punctuation # 打印标点符号值 print(str)
4)输出
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
二、choice()方法
1)choice函数
choice()方法返回一个列表、元祖或字符串的随机项
2)用法
choice()方法需要导入random模块,通过random模块静态对象调用该方法
import random
random.choice(seq)
其中seq-可以是一个列表、元祖或字符串
3)实例
import random str = "fdofsadf4%%%%@@@王" print("打印字符:", random.choice(str_1))
4)输出
打印字符: %
三、''.join()方法
1)''.join()函数
将序列中的元素以指定的字符连接生成一个新的字符串
2)语法
语法: ‘sep’.join(seq)
参数说明:
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
3)实例
a="abcd" list =['a','b','c'] tuple = (('a','b','c')) dict = {'a':1,'b':2,'c':3,'d':4} print(''.join(a)) print(','.join(a)) print('|'.join(list)) print('*'.join(tuple)) print('&'.join(dict))
4)输出
abcd a,b,c,d a|b|c a*b*c a&b&c&d
四、生成随机特殊字符串方法
基于上述函数及方法,定义生成随机特殊字符串的函数,且可定义字符串的长度
def get_random_special(num,str_range=None): """ 生成随机特殊字符串, num:产生随机字符串的长度, 返回随机字符串,str类型 """ if str_range is None: str_range = string.punctuation return (''.join(random.choice(str_range) for _ in range(int( num))))
PS: for _ in range(int(num))中)_占位符表示不在意变量的值,只是用于循环遍历num次
标签:random,join,python,punctuation,choice,str,字符串 来源: https://www.cnblogs.com/wwwwtt/p/15415025.html