Python - NameError 'name_q' 未定义

Python - NameError 'name_q' is not defined

所以我一直在玩编码等等,我只是喜欢真正随机的东西,现在我正在这样做,我只是在我的脚本中随机命名,基本上 Barry 可以求助于 Henry 或 B.a.r.r.y.没什么特别的。

但问题是,每当我尝试在另一种方法中打印或使用 name_q.get() 时,它都会给我一个错误,提示 NameError。哪里出了问题?

def main():
    names = name_q.get()
    log(names)
    exit()

def test():

    name_q = Queue()
    user_input = int(input('How many random names you wanna make out of Barry? [NUMBERS] \n'))
    Names= "barry"
    generator = NamesGenerator(Names).generate()
    for i in range(0, user_input):
        name_q.put(generator[i])
    main()

变量 name_q 是函数 test 的局部变量。它在函数 main.

中不存在

您必须将其作为参数提供:

def main(name_q):
    names = name_q.get()
    log(names)

def test():
    name_q = Queue()
    user_input = int(input('How many random names you wanna make out of Barry? [NUMBERS] \n'))
    names= "barry"
    generator = NamesGenerator(names).generate()
    for i in range(0, user_input):
        name_q.put(generator[i])
    main(name_q)

注意:这与您的问题无关,但请仅在 class 名称的开头使用大写字母,而不是任何变量。如果你不这样做,当人们阅读你的代码时,这会导致误解。

另外,Python代码最多写79列,如PEP8.