摘要:
最近在写代码时发现一个有趣的地方,当python中的函数使用list作为默认参数且调用时不给其赋值时,无法通过在函数中将其赋值为[]来达到清空此默认参数的目的。按照道理来说,函数f1中的list为局部变量,在下次进入时,其应保持默认值才对。而且list具有可变性,在原内存地址中修改其内容。具体代码如下:def f1(a=[2]): a.append(100) print a a=[] #del a[:] print adef f2(a=[2]): a.append(100) print a #a=[] del a[:] print a... 阅读全文
posted @ 2013-07-14 22:18
myLittleGarden
阅读(1776)
评论(0)
推荐(0)