gpt4 book ai didi

python - 确实返回停止python脚本

转载 作者:太空狗 更新时间:2023-10-30 00:40:38 24 4
gpt4 key购买 nike

def foo:
return 1
print(varsum)

打印命令是否仍会被执行,或者程序是否会在 return() 处终止

最佳答案

  1. 打印语句不会被执行。
  2. 程序不会终止。

函数将返回,并在堆栈的下一帧处继续。在 C 中,程序的入口点是一个名为 main 的函数。如果您从该函数return,程序本身就会终止。然而,在 Python 中,main 是在程序代码中显式调用的,因此 return 语句本身不会退出程序。

您示例中的 print 语句就是我们所说的 dead code .死代码是永远无法执行的代码。 if False: print 'hi' 中的 print 语句是死代码的另一个示例。许多编程语言提供死代码消除或 DCE,在编译时去除此类语句。 Python 的 AST compiler 显然有 DCE ,但不能保证所有代码对象。如果应用 DCE,以下两个函数将编译为相同的字节码:

def f():
return 1
print 'hi'
def g():
return 1

但是根据 CPython 反汇编器,DCE 没有被应用:

>>> dis.dis(f)
2 0 LOAD_CONST 1 (1)
3 RETURN_VALUE

3 4 LOAD_CONST 2 ('hi')
7 PRINT_ITEM
8 PRINT_NEWLINE
>>> dis.dis(g)
2 0 LOAD_CONST 1 (1)
3 RETURN_VALUE

关于python - 确实返回停止python脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23745654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com