gpt4 book ai didi

python - 未在 python 中运行函数的情况下检查了非本地语句

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:34 28 4
gpt4 key购买 nike

<分区>

之前我认为当我们定义一个函数时,这个函数可能是错误的,但是python不会在它执行之前检查它:

x = 100

def f():
x = 1/0
return x

print(x)
# >>> 100

然而,当我在学习nonlocal语句时

x = 100

def f():
def g():
nonlocal x
x = x * 99
return x
return g

print(x)
# >>> SyntaxError: no binding for nonlocal 'x' found

即使函数没有执行,它也被检查了。

有什么地方可以找到官方的解释吗?

附加的可变边界情况:

x = 100
def f():
global x
global xx
x = 99
return x

print(f())
# >>> 99
print(x)
# >>> 99

如果我 global 一些根本不存在的变量,这似乎完全没问题?即使我执行这个功能,它甚至不会带来任何错误?

这部分被移到一个新的个人问题中: Why am I able to global a non-existing varlable in python

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