首頁 > 軟體

Python 隨機字元串

2021-03-20 02:00:20

在很多時候我們可能需要生成一些隨機字元串。

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 是可以用於生成字元串的字元。

如上面圖中我們程式碼運行的結構就是用於測試隨機字元串生成的。


IT145.com E-mail:sddin#qq.com