Chinaunix首页 | 论坛 | 博客
  • 博客访问: 87755
  • 博文数量: 16
  • 博客积分: 356
  • 博客等级: 一等列兵
  • 技术积分: 190
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-13 21:09
文章分类

全部博文(16)

文章存档

2012年(16)

我的朋友

分类: Python/Ruby

2012-07-03 18:20:39

按道理说,python的参数传递吗,对于复杂对象是传引用的。
但是,发生了一件这样的事情,先记录:

点击(此处)折叠或打开

  1. def test1(aset):
  2.         aset.remove("a")

  3. def test2(cset):
  4.         bset = aset.remove("a")
  5.         cset = bset

  6. def test3(cset):
  7.         bset = set()
  8.         bset.add("b")
  9.         bset.add("c")
  10.         cset = bset

  11. aset = set()
  12. aset.add("a")
  13. aset.add("b")
  14. aset.add("c")

  15. print aset
  16. test3(aset)
  17. print aset
aset经过test1,test2和test3三个函数之后,只有test3调用后,aset的返回值不变。
感觉是test3中新建了一个set对象,所以跟传入参数分开了。
有时间再仔细研究。
阅读(1659) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~