关于 python 函数的参数
这是一个关于 python
函数中参数的实现
python 参数
python 中的参数传递和 C 等不同,python 传入的参数可以理解是 C++ 中的引用,也可以理解为直接传入实参,函数栈中不会预先分配新的空间,可以观察下面的例子
可以从从输出的 ID
中看出,外部空间传入的参数的 ID
和函数中变量的 ID
是相同的,所以可以理解为 python
的函数直接使用了外部空间的参数,所以也就会导致对函数内部的参数的修改会影响到外面的参数。
但是同时也注意到另外一个现象就是
如果在函数内部的变量会申请一个新的空间,而且奇妙的是如果函数内部命名的变量和传入参数是一样的话会导致传入参数的地址丢失,只能保留下原变量的值.启示
如果考虑了分配空间的时间的话可以得到如下结果
上面一个输出是用 append
实现的,而下面的是使用 +
实现的,没有分配空间会更快一些
关于 python 函数的参数
http://home.ustc.edu.cn/~ustcxwy0271/2022/05/25/python-fun-1/