Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Python中的函数列表中删除函数时出错_Python - Fatal编程技术网

从Python中的函数列表中删除函数时出错

从Python中的函数列表中删除函数时出错,python,Python,我正在使用pygame模块用python编写一个小游戏 我有两个函数列表: afunc(在每帧循环的开始处运行) bfunc(每帧在循环结束时运行) 这是从列表中删除函数的代码,但这似乎不起作用。没有错误,所以我不能指出确切的问题 这是向列表中添加新函数的函数: def addfunction(function , arg = None , position = 'b'): ''' add a function which runs every frame. argu

我正在使用pygame模块用python编写一个小游戏

我有两个函数列表: afunc(在每帧循环的开始处运行) bfunc(每帧在循环结束时运行)

这是从列表中删除函数的代码,但这似乎不起作用。没有错误,所以我不能指出确切的问题

这是向列表中添加新函数的函数:

    def addfunction(function , arg = None  ,  position = 'b'):
    '''
    add a function which runs every frame. argument 'a' will run the 
    function after everything, argument 'b' will run the function
     before anything is updated. These functions will run independent of
     which screen is being displayed i=unless explicitly stated in the code
     '''

    if position == 'b':
        self.bfuncs.append((function , arg))
    else:
        self.afuncs.append((function, arg))
这是一个自行生成的示例,但不起作用

addfunction(print,'hi')  ##adding function
removefunction(print)    ##removing function

这可能是您的问题,也可能不是您的问题,但您可以使用

self.afuncs.append((function, arg))
并使用查找要删除它们的索引

self.afuncs.index([function, arg])
但是,
(函数,arg)!=[function,arg]
,因此对
索引的调用将引发异常,该异常被
except:pass
行屏蔽


在旁注中,不要使用
,除非:pass
。曾经这只是一个等待发生的错误

“没有错误,因此我无法指出确切的问题。”-然后创建一个完整的示例来演示问题,包括创建带有函数的列表的代码。请提供某种错误、回溯和/或wen可以单独测试的内容。删除
try将会出现。@ayushjha:这些似乎是方法(您在代码中引用的是
self
,但这两种方法都没有将
self
作为参数。而且由于您的
except:pass
到处都是异常。除了:pass
是邪恶的,不要使用它。至少将
Exception用作e:print“catch{}!”。格式(e)
。这样您就知道什么时候会发生异常。如果在某些地方预期会发生异常,则只捕获您预期会引发的特定类型的异常。
self.afuncs.index([function, arg])