python datetime.now() 的问题

python中,获取指定日期格式的时间可以用 datetime.datetime.now().strftime("%Y-%m-%d") 
定义函数的时候,是可以设置参数的默认值的。
但是, 当你将上述参数设置为默认值的时候,它是会出问题的。

1 # 仅作举例
2 def get_date(time=datetime.datetime.now().strftime("%Y-%m-%d")):
3     # 模拟各种操作
4     pass

在程序长时间运行时,time参数的默认值在方法定义时就会被固定死,也就是说,为了你后期什么时候调用,只要程序没有重新打开,你的time都是刚开始运行程序时注册的time,永远不变。

解决方案: 在函数内定义,默认值为空或其他标志。

博客同步:博客同步

原文地址:https://www.cnblogs.com/nanshaobit/p/12464626.html