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次


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM