个人认为,关于Python采用哪一种方式的最好的答案是Python传递的是对象引用。在Python中一切皆对象,所以每个值的传递都是对象的引用。对象在这个过程中是不可复制的,Python传递的是对象引用。如果对象是可变的,在函数中所做的更改将反映在对象的外部作用域中。如果对象是不可变的,当更新引用时将引用新的对象。
例如经常容易犯的一个错误:
如果a=b的话, a和b的地址是相同的;如果只是想拷贝,那么就得用 a=b[:]。
个人认为,关于Python采用哪一种方式的最好的答案是Python传递的是对象引用。在Python中一切皆对象,所以每个值的传递都是对象的引用。对象在这个过程中是不可复制的,Python传递的是对象引用。如果对象是可变的,在函数中所做的更改将反映在对象的外部作用域中。如果对象是不可变的,当更新引用时将引用新的对象。
例如经常容易犯的一个错误:
如果a=b的话, a和b的地址是相同的;如果只是想拷贝,那么就得用 a=b[:]。