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.
所以我一直在玩编码等等,我只是喜欢真正随机的东西,现在我正在这样做,我只是在我的脚本中随机命名,基本上 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.