标签:
当在函数中定义默认值时,值初始化只会进行一次,就是执行到def methodname时执行。看下面代码:
1
2
3
4
5
6
7
8
|
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() |
标签:
原文地址:http://www.cnblogs.com/shouce/p/5548389.html