变量和按引用传递

python中对变量进行赋值时,其实是在创建等号右侧对象的一个引用。例如

输入:>>>a=[1,2,3]

     >>>b=a

在某些语言中,该赋值过程将会导致数据[1,2,3]被复制。而在python中,a和b现在都指向同一个对象,即原始列表[1,2,3]。若此时向a中添加一个元素,即

   >>>a.append(4)

      >>>print(b)

可以看到b中的列表元素同a一样,也变为[1,2,3,4],如下图所示

 

因此,python被称为按引用传递的,而某些其他的语言既支持按值传递(创建副本)又支持按引用传递。

posted on 2019-02-12 14:45  ayuandeblog  阅读(141)  评论(0编辑  收藏  举报

导航