Python使用函数更新int和list

时间:2015-06-04 08:52:24

标签: python

我是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]

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