Python “的含义和区别是什么?”;使用「;及;“重新绑定”;变量?

Python “的含义和区别是什么?”;使用「;及;“重新绑定”;变量?,python,python-3.x,terminology,Python,Python 3.x,Terminology,简而言之,来自Python: 避免全球化 如果函数体仅使用全局函数,则切勿使用全局函数 变量(包括对绑定到该变量的对象进行变异 变量(当对象是可变的时) 仅在以下情况下使用全局语句 函数体重新绑定全局变量(通常通过指定变量名称) “使用”和“重新绑定”变量之间的含义和区别是什么 “突变绑定到变量的对象”是“使用”变量还是“重新绑定”变量?为什么?“Mutate”和“bind”/“rebind”是两个相互排斥的操作。变异会更改对象,而绑定会更改名称 这是有约束力的: a = [] 这是一种变异:

简而言之,来自Python:

避免全球化

如果函数体仅使用全局函数,则切勿使用全局函数 变量(包括对绑定到该变量的对象进行变异 变量(当对象是可变的时)

仅在以下情况下使用全局语句 函数体重新绑定全局变量(通常通过指定变量名称)

“使用”和“重新绑定”变量之间的含义和区别是什么

“突变绑定到变量的对象”是“使用”变量还是“重新绑定”变量?为什么?

“Mutate”和“bind”/“rebind”是两个相互排斥的操作。变异会更改对象,而绑定会更改名称

这是有约束力的:

a = []
这是一种变异:

a.append(None)
“使用”是指访问绑定到名称的现有对象,无论是用于读取还是用于变异。

使用变量 使用变量时,使用的是变量的实际值—变量所引用的对象—或变量名称所引用的对象的变化。以下是一个例子:

>>> var1 = 1
>>> var2 = [1]
>>> 
>>> def func():
    print(var1)
    var2.append(2)


>>> func()
1
>>> var2
[1, 2]
>>> 
在上面的示例中,我们在
func
的内部使用
var1
var2
。我们使用
var1
,因为我们在调用
print
时使用它的值。我们使用了
var2
,因为我们变异了它所指的对象。请注意,我们没有更改
var2
引用的对象,而是使用了已存在的对象并对其进行了修改。还要注意的是,我们从未尝试将新值赋给任何一个变量

重新绑定变量 重新绑定变量时,您正在更改变量名称所指向的对象。下面是另一个有助于说明这一点的示例:

>>> var1 = 1
>>> 
>>> def func():
    global var1
    var1 = 2


>>> func()
>>> var1
2
>>>
在上面的例子中。我们在
func
内部重新绑定
var
var1
用于引用对象
1
,但由于我们将
var1
重新绑定到
2
,它现在引用对象
2

那么有什么区别呢?
区别在于,当我们使用变量时,我们只是使用变量已经引用的对象。重新绑定变量时,我们会更改变量引用的对象。

在函数中使用变量时,您只需使用变量的值或对变量引用的对象进行变异即可。当您重新绑定一个变量时,您正在重新绑定实际变量名以引用另一个对象。谢谢。“访问”变量与“使用”变量的含义相同吗?“引用”一个变量怎么样?是的,它引用。我将在稍后发布一个答案,详细说明我的上述评论。“引用”变量是否与获取该变量引用的对象的含义相同?“改变”变量引用的对象是否与设置变量引用的对象相同?是。是的。这两个术语在此上下文中的含义相同。