gpt4 book ai didi

Python:如果在 try 或 if 中定义变量仍然可以访问?

转载 作者:太空狗 更新时间:2023-10-29 21:34:05 24 4
gpt4 key购买 nike

<分区>

我是 Python 初学者,有 C/C++ 背景。我正在使用 Python 2.7。

我读了这篇文章:A Beginner’s Guide to Python’s Namespaces, Scope Resolution, and the LEGB Rule ,我想我对 Python 的这些技术有一些了解。

今天我意识到我可以像这样写 Python 代码:

if condition_1:
var_x = some_value
else:
var_x = another_value
print var_x

也就是说,即使 在 if 之前定义 var_x,它仍然是可访问的。因为我是C/C++出身,所以这对我来说是个新鲜事,因为在C/C++中,var_x定义在if和else所包围的范围内,所以你不能再访问它,除非你在 if 之前定义 var_x

我曾尝试在 Google 上搜索答案,但由于我对 Python 还是个新手,我什至不知道从哪里开始以及应该使用哪些关键字。

我的猜测是,在 Python 中,if 不会创建新的作用域。 if 中新定义的所有变量都在 if 所在的范围内,这就是为什么在 if 之后变量仍然可以访问的原因>。但是,如果在上面的示例中,var_x 仅在 if 中定义,而没有在 else 中定义,则会发出警告,指出print var_x 可能引用了一个 undefined variable 。

我对自己的理解有些自信。但是,如果我哪里错了,有人可以帮助纠正我,或者给我一个讨论这个问题的文档的链接吗??

谢谢。

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