Python:生成随机字符串

俗话说的好

要想获得一个随机字符串,只需要让一个新手退出Vim

那么有没有什么Pythonic的方法获得一个随机字符串?

一行代码解决

''.join(random.choice("1234567890·-=~qwertyuiopasdfghjklzxcvb") for _ in range(13))

为了可重复使用可以这样写:

>>> import string
>>> import random
>>> def random_string(size=13, chars=string.ascii_uppercase + string.digits):
...    return ''.join(random.choice(chars) for _ in range(size))
...
>>> random_string()
'G5G74W'
>>> random_string(3, "6793YUIO")
'Y3U'

细节


以上最关键的一点就是random模块里的choice(arg: str)函数。它将从参数arg中随便返回一个字符。

至于string.ascii_uppercasestring.digits则分别是 大写字母全字符的字符串和数字的全字符字符串。
可以直接访问Python安装目录下寻找到String模块查看,还有其他的字符串如小写字母: string.ascii_lowercase

你可能感兴趣的:(Python:生成随机字符串)