gpt4 book ai didi

Python用函数更新int和list

转载 作者:行者123 更新时间:2023-11-28 16:32:18 25 4
gpt4 key购买 nike

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

最佳答案

因为改变了一个mutable函数中的 list 之类的对象可能会影响调用者,并且对于 immutable 不是 True像 int 这样的对象。

因此,当您更改列表中的 alist 时,您也可以看到函数之外的更改。但请注意,它只是就地更改传入的可变对象,并创建新的对象(如果它是可变的)不符合这个规则!

>>> def update_list(alist):
... alist=[3,2]
...
>>> l=[5]
>>> update_list(l)
>>> l
[5]

有关更多信息,请阅读 Naming and Binding In Python

关于Python用函数更新int和list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30639254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com