python中利用''.join()方法以及choice()函数结合string.punctuation,生成随机特殊字符串的方法

2021/10/16 20:10:01

本文主要是介绍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次



这篇关于python中利用''.join()方法以及choice()函数结合string.punctuation,生成随机特殊字符串的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程