神秘的非类型出现

蟒蛇 3.7


你好。

我知道这None是没有返回任何结果的结果,但是我不明白为什么我None在这段代码的末尾被返回。我看不到任何未完成的东西。


def test(a, b):

    if a == True and b == True:

        return False

    elif a == True or b == True:

        return True

    elif a == False and b == False:

        return False

    else:

        print("error... :(")


print(test(True, True))

print(test(True, False))

print(test(False, True))

print(test(False, False))

print(test(None, False))

当我运行此代码时,我得到:


False

True

True

False

error... :(

None

我还尝试更改 else: 语句以实际返回打印对象,希望我的代码只是要求冗余返回,但输出是相同的。


    else:

        error = print("error... :(")

    return error

任何人都可以阐明None它的来源吗?


catspeake
浏览 174回答 1
1回答

繁星点点滴滴

您的 else 语句打印出“错误... :(”行,但是您也尝试打印出函数的结果。要么让函数处理打印而什么都不返回(从主体中删除打印语句),或者让函数返回要打印的字符串,而不是从函数中打印它(见下文)。def test(a, b):if a == True and b == True:    return Falseelif a == True or b == True:    return Trueelif a == False and b == False:    return Falseelse:    return "error... :("print(test(True, True))print(test(True, False))print(test(False, True))print(test(False, False))print(test(None, False))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python