【问题标题】:Can we execute code after the return statement in python?我们可以在python中的return语句之后执行代码吗?
【发布时间】:2023-03-04 07:40:07
【问题描述】:

您好,我是 python 新手。这可能是个愚蠢的问题。我只是想知道我们可以运行python中return语句之后编写的行吗?

例子:

def temp1():
    try:
        str1 = 'abcd'
        return str1
        time.sleep(50)
        print('xyz')
    except Exception as ex:
        print(ex)

def temp2():
    try:
        str2 = temp1()
        print(str2)
    except Exception as ex:
        print(ex)


temp2()

我只想知道返回值后如何打印-xyz?

【问题讨论】:

  • 不,这就是return 语句的意义所在。但是,您可以将代码块包装在上下文管理器中,该管理器在进入/退出块之前/之后执行操作,但我认为这并不是您真正想要的。
  • 嗨@PeterWood,感谢您的回复。你能告诉我你正在讨论的块代码吗?
  • 存储变量str1并做你想做的一切,然后在函数末尾返回值。 return 表示退出函数,所以后面的代码就没有办法继续运行了。
  • @ShivikaPatel 你搜索过python context manager吗?
  • 另外,下面的答案很好地说明了使用finally,我忘记了!

标签: python python-3.x return


【解决方案1】:

有办法做到这一点。就是用try/except/finally。

如果try语句到达break、continue或return语句, finally 子句将在 break、continue 或 return 语句的执行。

见官方docs

但我认为这不是您真正想要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 2016-05-04
    相关资源
    最近更新 更多