Python_默认函数调用(每次调用的都是同一函数)

默认函数调用

特殊逻辑:调用时,默认调用的都是同一函数

简单示例:

def add_end(L=[]):

    L.append('END')

    return L

 

print (add_end([1, 2, 3])) #调用正常

print (add_end(['x', 'y', 'z'])) #调用正常

print (add_end())#调用正常

print (add_end())#调用不正常

print (add_end())#调用不正常

 结果如下:

若想每次调用默认函数时,结果不相互影响,可做如下处理:

解决方法

#coding=utf-8

def add_end(L=None):

    if L is None:

        L =[]

    L.append('END')

    return L

 

print (add_end([1, 2, 3])) #调用正常

print (add_end(['x', 'y', 'z'])) #调用正常

print (add_end())#调用正常

print (add_end())#调用正常

print (add_end())#调用正常

 

posted @ 2018-10-07 16:51  翻滚的小强  阅读(861)  评论(0编辑  收藏  举报