今天看代码看到一处非常不解的地方:
from datetime import datetime,timedelta
time = int(datetime.today().year/100)*100 + 19
运行结果是2019
简化一下,上面的代码和下面的代码是一个意思:
time = int(2018/100)*100 + 19
如果去掉int,像下图这样,结果就是2018+19=2037.0
time = (2018/100)*100 + 19
查了资料明白,Python中有一种除法叫做地板除,两根反斜杠表示(2018//100=28),结果只保留整数部分,看字面意思就像是像地板一样平整,把小数部分切掉了。
同时还查到int函数加上正常的除法也可以实现这个功能,即:int(a/b) == a//b
这个功能在补齐年份的前两位非常好用,一般我们口语都会简化说18年,19年,想让代码补齐前面的年份,变为2018年或者1998年,使用这个地板除的功能就非常好用了。