我正在做一个项目,涉及从一个列表调用函数,但我不能让它直接工作。从列表中调用函数时出现了一些问题,我似乎不知道为什么。下面有一些代码作为示例,也将提供输出。所提供的代码只是我试图做的基本想法的一个例子。这不是我真正的代码。别担心,这是最基本的想法。你知道吗
import random, time
def word1():
print "Hello"
def word2():
print "Goodbye"
words = [word1(), word2()]
def run():
while True:
random.choice(words)()
time.sleep(0.5)
run()
我得到的结果是:
TypeError: 'NoneType' object is not callable
据我所知,这可能是一些简单的错误,我忽略了,但对我的生活,不能明白。救命啊!你知道吗
“
word1()
”不是函数word1
;它是调用word1()
的返回值,因为word1
没有显式返回任何内容,所以返回值是None
。什么是word1
?只是word1
。因此,words
的声明应该改为:收件人:
您将函数结果存储在列表1中,而不是函数本身。你知道吗
即改变:
收件人:
结果都是
None
,这就是为什么会出现NoneType
不可调用错误…调用列表中已有的函数。你想推迟。你知道吗
相关问题 更多 >
编程相关推荐