Python中参数和C/C++中参数的区别

来源:互联网 发布:天敏网络机顶盒厂址 编辑:程序博客网 时间:2024/06/13 17:27

我们知道在C/C++中:

不变参数是在内存中有对应的常量数据区,也就是说一开始定义的数据,不管是其所指的地址还是该地址所指的值都是不可变的;

而我们所说的变量,也就是可变参数,则包括值变量和指针变量,但其本身的地址是固定的,地址所指的内容是可变的;


Python函数参数对于可变对象,函数内对参数的改变会影响到原始对象;对于不可变对象,函数内对参数的改变不会影响到原始参数。对其理解:

1、可变对象,参数改变的是可变对象,其内容可以被修改,不是重新引用。

2、不可变对象,改变的是函数内变量的指向对象。而原始数据并没有发生变换,只是重新引用了对象;


相对于C/C++的优缺点:

优点:可以减少重复值的内存占用空间;

缺点:对执行效率带来一定的影响。

0 0