python中的一些坑(待补充)
Posted When you look into the abyss,
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的一些坑(待补充)相关的知识,希望对你有一定的参考价值。
函数默认参数使用可变对象
def use_mutable_default_param(idx=0, ids=[]): ids.append(idx) print(idx) print(ids) use_mutable_default_param(idx=1) use_mutable_default_param(idx=2)
输出
1 [1] 2 [1, 2]
函数本身也是一个对象,默认参数绑定于这个函数对象上
append这类方法会直接修改对象,所以下次调用此函数时,其绑定的默认参数已经不再是空list了
def donot_use_mutable_default_param(idx=0, ids=None): if ids is None: ids = [] ids.append(idx) print(idx) print(ids)
以上是关于python中的一些坑(待补充)的主要内容,如果未能解决你的问题,请参考以下文章