我正在使用以下函数(我认为非常简单)来生成随机字符串:
import sys
import string
import random
def random(size=16):
lst = [random.choice(string.ascii_letters + string.digits) for n in xrange(size)]
str = "".join(lst)
return str
但是,我一直收到以下错误:
AttributeError: 'function' object has no attribute 'choice'
有人能告诉我我的代码有什么问题吗?谷歌似乎没有帮助,我对Python来说太新了,无法自己解决问题。
答案 0 :(得分:3)
您正在使用函数定义覆盖import random
。
Python命名空间中的“随机”名称现在指的是您的功能而不是您想要的random
模块。
将功能名称更改为random_str
答案 1 :(得分:1)
当您的函数也是模块的名称时,您正在使用名称random
。将您的功能重命名为其他功能,它将起作用。