TypeError:尝试检查None值时,'NoneType'对象不可迭代

时间:2016-10-12 03:06:51

标签: python typeerror nonetype

这是我收到的错误:

line 16, in main
    definition, data = get_name ()
TypeError: 'NoneType' object is not iterable

我在这里检查None类型:

definition = get_word (name, gender)

if definition is None:
     print ("\"" + non_lower + "\"", "not found.")
else:
     return definition

如果找不到搜索字词,则以下代码将返回None

if x and new_line is not None:
    return new_line, x

我返回2个值,但它返回一个值,当我尝试检查None的值时,我收到错误。如果无论如何都要正确检查None的变量,那么如果没有返回任何内容我可以提供一条消息吗?

1 个答案:

答案 0 :(得分:0)

您在稍后返回None的部分中有双重否定。也许试试这个:

if x and new_line:
    return new_line, x
else:
    return None, None

然后在检查None实际检查None时,检查变量是否为None以外的其他内容,然后使用else语句捕获None

if definition:
    return definition
else:
    print ("\"" + non_lower + "\"", "not found.")