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中的一些坑(待补充)的主要内容,如果未能解决你的问题,请参考以下文章

python介绍和基础(待补充)

基本数据类型(待补充)

Python 面向对象(下)

Python之路-字符编码&数据类型补充(待更新)

Python第一周 学习笔记_待补充

Python开发基础-Day25-28FTP项目(待补充)