0

所以,我在下面有这个功能:

def remove_all(lst):
    i = 0
    while i < 10:
        try:
            print('Removing... ')
            print(int(lst.pop()) + 10)
            print("Removed successfully.")

        # As soon as an IndexError is raised, jump to the following block of code...        
        except IndexError as err: 
            # if you encounter an indexerror, do the following:
            print("Uh oh! Problems.")
            return

        #As soon as a Value error is raised, jump here.
        except ValueError as err:
            print("Not a number")

        i = i + 1

退货有什么作用?返回后没有值,那么是表示None还是True?如果价值为零,那么在那里有回报有什么意义?

谢谢!

4

4 回答 4

7

返回值为None

在这种情况下,函数从不返回值。的关键return是停止执行

于 2013-08-14T05:30:02.703 回答
0

return 语句可以用作一种控制流。通过在函数中间放置一个(或多个)return 语句,您可以退出/停止该函数。

于 2013-08-14T05:29:53.400 回答
0

这会导致函数在IndexError遇到 an 时退出,只是不返回任何值。

于 2013-08-14T05:30:33.993 回答
0

在您的示例中,没有返回值。

假设你会这样调用函数:

a = remove_all(lst)

a 将是None因为该函数根本不返回任何内容。

要检查函数是否成功,您可以像这样实现它:

def ....
    try:
        ...
    exception 1:
        your error handling...
        return False
    exception 2:
        your error handling...
        return False

    continue function...
    return True

然后,当您检查函数的返回值时,您将看到它是否一直执行到结束 ( True) 或者它是否在 ( False) 之前引发了错误。

但是,在发生定义的错误之一后,这将不会继续执行此特定功能。

于 2013-08-14T05:45:45.727 回答