python 函数默认参数 奇异现象
时间:2010-11-20 来源:xuxiyao8888
python 函数默认参数 奇异现象
#!/usr/bin/env python
def func(a=[]):
a.append(1)
print a
if __name__ == "__main__":
func()
func()
func()
func()
func()
按照我们正常想法,应该是情况,调用func时,没有参数,会使用默认参数a, 但是每次调用的时候,都重新赋值为空,应该每次打印都应该是[1],但是,结果:
[1]
[1, 1]
[1, 1, 1]
[1, 1, 1, 1]
[1, 1, 1, 1, 1]
所以我们平时使用python编程时,应该少用默认参数,出现一些问题,很难定位。
#!/usr/bin/env python
def func(a=[]):
a.append(1)
print a
if __name__ == "__main__":
func()
func()
func()
func()
func()
按照我们正常想法,应该是情况,调用func时,没有参数,会使用默认参数a, 但是每次调用的时候,都重新赋值为空,应该每次打印都应该是[1],但是,结果:
[1]
[1, 1]
[1, 1, 1]
[1, 1, 1, 1]
[1, 1, 1, 1, 1]
所以我们平时使用python编程时,应该少用默认参数,出现一些问题,很难定位。
相关阅读 更多 +