神秘的非类型出现
Mysterious nonetype appearing
python 3.7
你好。
我知道 None
是什么都没有被 returned 的结果,但是我不明白为什么我在这段代码的末尾得到 None
returned。我看不到任何未完成的内容。
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: 语句更改为实际 return 打印对象,希望我的代码只是要求冗余 return,但输出是相同的。
else:
error = print("error... :(")
return error
任何人都可以阐明 None
的来源吗?
您的 else 语句打印出行 "error... :(",但是您还尝试打印出该函数的结果。要么让函数处理打印并且 return 什么都不处理(从主体中删除打印语句),要么让函数 return 您想要打印的字符串而不是从函数中打印它(见下文)。
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:
return "error... :("
print(test(True, True))
print(test(True, False))
print(test(False, True))
print(test(False, False))
print(test(None, False))
python 3.7
你好。
我知道 None
是什么都没有被 returned 的结果,但是我不明白为什么我在这段代码的末尾得到 None
returned。我看不到任何未完成的内容。
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: 语句更改为实际 return 打印对象,希望我的代码只是要求冗余 return,但输出是相同的。
else:
error = print("error... :(")
return error
任何人都可以阐明 None
的来源吗?
您的 else 语句打印出行 "error... :(",但是您还尝试打印出该函数的结果。要么让函数处理打印并且 return 什么都不处理(从主体中删除打印语句),要么让函数 return 您想要打印的字符串而不是从函数中打印它(见下文)。
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:
return "error... :("
print(test(True, True))
print(test(True, False))
print(test(False, True))
print(test(False, False))
print(test(None, False))