Python 默认参数 笔记

2017-08-18  本文已影响13人  json_jie
57907007-7E26-4CDD-BABB-4066981FE936.png

Python函数在定义的时候,默认参数 L 的值就被计算出来了,即[],因为默认参数L也是一个变量,它指向对象[],每次调用该函数,如果改变了L的内容,则下次调用时,默认参数的内容就变了,不再是函数定义时的[]了。


所以,定义默认参数要牢记一点:默认参数必须指向不变对象!
要修改上面的例子,我们可以用None这个不变对象来实现:

def add_end(L=None):
    if L is None:
        L = []
    L.append('END')
    return L
上一篇下一篇

猜你喜欢

热点阅读