一、警惕默认参数陷阱

def appendtest(newitem,lista = []):
	print id(lista)
	lista.append(newitem)
	print id(lista)
	return lista
 
appendtest(1)
appendtest(1)
appendtest(1) # 此时返回的结果是 [1,1,1]

如果想要一个每次调用时获取时间的 report 函数,那么应该选择第二种。第一种的 when 参数在??的时候值就确定下来了。

import time
def report(when = time.time()):
	pass
def report(when = time.time):
	pass