python中函数默认值使用注意点
当在函数中定义默认值时,值初始化只会进行一次,就是执行到def methodname时执行。看下面代码:from datetime import datetime
def test(t=datetime.today()):
print t
if __name__ == "__main__":
test()
test()
两次方法调用输出的时间都为同一个值,而不是我们预想当前执行时间。对于上面这种情况,建议用下面的方式实现:
from datetime import datetime
def test2(t = None):
if t is None:
t = datetime.today()
print t
if __name__ == "__main__":
test()
test()
页:
[1]