def getEvens(l):
"""
The function takes a list as input and returns only even no.s of the list.
"""
# Check if all elements are integers
for i in l:
if type(i) != int:
return None # return None if the list is invalid
return [i for i in l if i%2 == 0] # return filtered list
在这里的驱动程序代码中,我们将输入列表传递给getEvens函数,根据函数返回的值输出定制消息。
def main(l):
functionOutput = getEvens(l) # pass the input list to the getEvens function
if functionOutput is None:
# As the function returned none, the input validation failed
print("Input list is invalid! Accepting only integers.")
else:
# function has returned some other value except None, so print the output
print("Filtered List is", functionOutput)
如果我们现在考虑一些情况 案例一:
l = [1, 7, 8, 4, 19, 34]
main(l)
# output is: Filtered List is [8, 4, 34]
案例二:
l = [1.05, 7, 8, 4.0, 19, 34]
main(l)
# output is: Input list is invalid! Accepting only integers.
案例三:
l = [1, 7, 8, 4, "19", 34]
main(l)
# output is: Input list is invalid! Accepting only integers.
3条答案
按热度按时间a9wyjsp71#
用例是,将函数的结果输出到控制台并不总是,甚至很少。
假设有一个函数来求一个数的平方:
如果你用
print()
,你只需要把结果输出到控制台,没有别的,使用return
,你可以把结果返回到函数调用的来源,这样你就可以继续使用它。例如,现在您要将两个平方数相加,如下所示:
a² + b²
使用我们之前构建的函数可以执行以下操作:如果square函数只是简单地将结果输出到控制台,这是不可能的,因为没有返回任何可以相加的内容。
是的,我知道你不需要一个函数来平方一个数,这只是一个例子来解释它。
mhd8tkvw2#
return语句应用于需要处理函数输出结果的场合,例如getEvens函数,它试图返回给定列表中的所有偶数:
在这里的驱动程序代码中,我们将输入列表传递给getEvens函数,根据函数返回的值输出定制消息。
如果我们现在考虑一些情况
案例一:
案例二:
案例三:
所以这里要注意的主要事情是我们使用函数的输出进行后续处理,在这个例子中,我们决定定制输出消息。一个类似的用例是函数链接,其中第一个函数的输出将是第二个函数的输入,第二个函数的输出将是第三个函数的输入(这个循环可能会持续更长时间;P)的报告。
omhiaaxx3#
在这种情况下,yes print会做完全相同的事情,但通常最好使用return语句,这样代码的可读性会比print更好
例如,如果您有以下代码
如果不找到函数的定义,但使用return,您将无法知道函数的作用
代码突然变得可读性更强了,因为您知道函数返回了一些东西,然后打印了它,并且可能存在这样一种情况,即您需要函数输出,但不打印它。
希望这对你有帮助