Skip to main content
 首页 » 编程设计

python之从列表问题中调用函数

2025年05月04日17soundcode

我正在制作一个涉及从列表中调用函数的项目,但我无法让它直接工作。从列表中调用函数有一些问题,我似乎无法弄清楚原因。我在下面有一些代码作为示例,并且还将提供输出。提供的代码只是我正在尝试做的基本思想的一个例子。这不是我的实际代码。不过别担心,这是基本思想。

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 的声明应更改为:

words = [word1(), word2()] 

到:

words = [word1, word2]