def function()
num = 1
num += 1
return num
num 是绑定变量还是自由变量?
PS此代码是用python编写的。在此之前没有以前的代码。
def function()
num = 1
num += 1
return num
num 是绑定变量还是自由变量?
PS此代码是用python编写的。在此之前没有以前的代码。
来自python doc:如果名称绑定在块中,则它是该块的局部变量,除非声明为非局部。如果名称绑定在模块级别,则它是一个全局变量。(模块代码块的变量是局部的和全局的。)如果一个变量在一个代码块中使用但没有在那里定义,它是一个自由变量。
这里num
被定义function
并因此绑定到它。
您可以查看SO 的其他帖子以获取自由变量的示例