之前一直只用过php,由于项目中需要python版的sdk,第一次上手写python。

期间遇到了一个函数参数的问题,整理记录一下。

由上可以看出,在php里,函数内部的变量不会影响到函数外部的变量。

而在python里,函数内部的变量可以影响到外部的变量。

在Python中,单一元素的对象是不允许更改的,比如整型数据、字符串、浮点数等。

x=3这句的执行过程并不是先获取x原来指向的对象的地址,再把内存中的值更改为3,而是新申请一段内存来存储对象3,再让x去指向对象3,所以两次id(x)的值不同。

在Python中,复杂元素的对象是允许更改的,比如列表、字典、元组等。

对于列表,其id()值返回的是列表第一个子元素x[0]的存储地址。x[0]=5只是让L[0]重新指向了对象5,而x[0]本身的存储地址并没有发生改变,所以id(x)的值没有改变。

在Python中一切皆对象,变量中存放的是对象的引用。