除了NameError不起作用

时间:2016-08-09 10:38:18

标签: python list python-3.x module availability

我正在尝试制作一个listool模块。

我正在尝试创建一个检查列表中项目可用性的检查功能。

这是我的非工作代码:

def check(lst, item):
    try:
        if item in lst:
            return "Requested Item In List"
        else:
            return "Requested Item Not In List"
    except:
        pass

如果没有列表,我想这样做。

所以当我没有列表时,这是错误:

>>> import listools
>>> listools.check(example_list, 'example')
Traceback (most recent call last):
 File "<pyshell#1>", line 1, in <module>
  listools.check(example_list, 'example')
NameError: name 'example_list' is not defined
>>> 

所以我想要它做的是如果没有列表就什么都不做 但它出现了错误(NameError)

1 个答案:

答案 0 :(得分:0)

NameError通常表示您尝试引用的变量不存在。如果您查看错误消息,则会显示name 'example_list' is not defined。这应该告诉你,我试图使用example_list,但程序找不到它。大多数原因是a)你在函数/循环中定义了一个在函数/循环(局部变量)之外无法访问的变量,或者b)你根本没有定义变量。在这种情况下,如果错误消息告诉您该函数存在问题,但是使用其他代码,则很可能忘记定义变量。在这种情况下,您应该在使用之前尝试定义example_list