请问Python函数的形参,为什么有时“浅拷贝”有时“深拷贝”?

请问Python函数的形参,为什么有时可以改变、有时不可以?原谅我不知道该怎么形容,所以借用了“深浅拷贝”这样的概念…

def func(x,y,l):
    x = y+1
    l.append(0)
    
if "__main__" == __name__:
    x=10; y=10; l=[3,2,1]
    func (x,y,l)
    print (x,y, l)

请问:运行函数func之后,为什么x和y的值没有变化、而l变了?
1 有没有办法让l也像x和y那样不变、运行函数之后直接释放?
2 有没有办法让x和y也像l那样改变?return吗?

谢谢了先!

繁花不似锦
浏览 485回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python