Python函数不打印任何内容
我有以下练习: 如果参数weekday为True,则该参数为True 一个工作日,以及参数“假期” 如果我们在度假,这是真的。我们 如果不是工作日或工作日,就睡懒觉 我们在度假。如果我们 睡懒觉 下面是我所做的,但是第二个print函数只打印Python函数不打印任何内容,python,function,return-value,Python,Function,Return Value,我有以下练习: 如果参数weekday为True,则该参数为True 一个工作日,以及参数“假期” 如果我们在度假,这是真的。我们 如果不是工作日或工作日,就睡懒觉 我们在度假。如果我们 睡懒觉 下面是我所做的,但是第二个print函数只打印“None” def sleep_in(weekday, vacation): if(not weekday or vacation): return True print(sleep_in(False, False)) print
“None”
def sleep_in(weekday, vacation):
if(not weekday or vacation):
return True
print(sleep_in(False, False))
print(sleep_in(True, False))
print(sleep_in(False, True))
输出:
True
None
True
python中的函数返回
None
,除非明确指示要执行其他操作
在上面的函数中,您不考虑工作日为True
的情况。解释器在不读取返回语句的情况下到达函数末尾(因为预先指定您的条件的计算结果为False
),并返回None
编辑:
def sleep_in(weekday, vacation):
return (not weekday or vacation)
好了=)你不需要括号there@SilentGhost:是的,不需要括号,但可以说它们增加了清晰度。@delnan我认为将这种比较逻辑括在括号中是一种很好的做法,即使优先规则使其变得不必要。