我是Python新手,想知道函数如何对变量和集合起作用。我不明白为什么我的update_int函数不能更新int而update_list可以?
def update_int(i):
i = 1
i = 0
update_int(i)
print i
返回0
def update_list(alist):
alist[0] = 1
i = [0]
update_list(i)
print i
返回[1]
答案 0 :(得分:3)
因为更改某个函数中的mutable对象(如list
)可能会影响调用者,而int
immutable对象可能会影响alist
。
因此,当您更改列表中的>>> def update_list(alist):
... alist=[3,2]
...
>>> l=[5]
>>> update_list(l)
>>> l
[5]
时,您也可以看到函数外部的更改。但请注意,它只是更改传入的可变对象,并创建新对象(如果它是可变的)不符合这个规则!!
var request = new XMLHttpRequest();
request.onreadystatechange = function () {
var DONE = this.DONE || 4;
if (this.readyState === DONE){
alert(xhr.responseText);
}
};
request.open('POST', 'script.php', true);
request.send("<YOUR TEXT>");
有关详细信息,请参阅Naming and Binding In Python