【发布时间】:2023-03-28 04:41:01
【问题描述】:
我目前正在尝试理解python中的这段代码
def foo(a):
if a==12:
var = "Same"
else:
var = "different"
我阅读并理解 python 不支持基于块的作用域这一事实。因此,在函数内创建的所有内容(无论是在循环内还是在条件语句内)都对函数的其他成员公开可用。我还阅读了范围规则here。在这一点上,假设这些内部作用域变量在函数内部被提升,就像它们在 javascript 中被提升一样吗?
【问题讨论】:
-
好吧,Python 并没有完全从变量声明开始,因此很难与 javascript 的
var提升进行比较。我知道你可以在给 x 赋值之后添加一个global x声明,它仍然可以工作,但这有点像苹果和橘子。 -
@jamesfranco -- 假设永远不安全。你为什么不启动你的 python 解释器并找出答案?
-
@Kevin 除了
var关键字之外,Python 的声明(或缺少声明)与 Javascript 有何不同?
标签: javascript python