gpt4 book ai didi

python - 为什么 Python 编译这段代码没有抛出错误?

转载 作者:行者123 更新时间:2023-12-05 09:05:43 24 4
gpt4 key购买 nike

我是 Python 的新手,所以请多多包涵。为什么 Python 在编译以下代码时不抛出错误。

def b_search(left, right):
while left <= right:
mid = left + (right-left)//2

if nums[mid] == target:
return mid
if nums[mid] < target:
left = whatever
else:
right = mid-1
return -1

想知道即使没有定义“nums”,也没有定义“whatever”和“target”,怎么没有错误。

谢谢!

最佳答案

全局变量是在运行时查找的,当函数试图访问它们的值时,而不是在定义函数时。如果当函数尝试实际使用它时仍然没有 nums 变量,您将在此时收到 NameError,但不会在函数定义时出现。

这里的过程不是“查找 nums 并使用我们找到的信息编译字节码”;它是“编译字节码,如果运行,可能会查找 nums”。

关于python - 为什么 Python 编译这段代码没有抛出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66852331/

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