2021-05-12 14:32:11
Python 隨機字元串
在很多時候我們可能需要生成一些隨機字元串。
Python 也為我們提供了生成隨機字元串的方法和函數。
這個函數是在 random 庫中定義的函數 choice。
通常 choice 將會從給定的字元串中挑選一個。
根據 Python 官方在 string.py 中有關字元串的定義。
whitespace = ' tnrvf'
ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'
ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ascii_letters = ascii_lowercase + ascii_uppercase
digits = '0123456789'
hexdigits = digits + 'abcdef' + 'ABCDEF'
octdigits = '01234567'
punctuation = r"""!"#$%&'()*+,-./:;<=>?@[]^_`{|}~"""
printable = digits + ascii_letters + punctuation + whitespace
上面的字元串是可以供你隨時使用的 ascii 字元串。
當呼叫方法
choice(string.ascii_uppercase)
的意思是將會隨機從大寫字元中挑選出一個字元。
如果我們希望要有 6 個長度的隨機字元串,應該怎麼辦呢?
我們應該需要將上面的函數執行 6 次,然後將 6 次執行的結果拼接起來即可。
比如,我們可以這樣寫:
"".join([choice(printable) for x in range(int(length))])
length 是我們希望拼接的字元串的長度。
printable 是可以用於生成字元串的字元。
如上面圖中我們程式碼運行的結構就是用於測試隨機字元串生成的。
相關文章