def test_fun(elem, lis=[]):
if elem=='e':
lis.clear()
lis.append(elem)
return lis
print(test_fun('a'))#['a']
print(test_fun('b'))#lis已经被上一次调用修改,返回['a', 'b']
print(test_fun('c',lis=[]))#创建了一个新lis,返回['c']
print(test_fun('d'))#此次的lis还是前两次调用的lis,因此返回['a', 'b', 'd']
print(test_fun('e'))#lis原位清空,返回['e']
print(test_fun('f'))#接着使用上一次清空后的lis,返回['e', 'f']