2024-04-24 14:55:16 发布
网友
我是python和Django的新手。我一直在玩Django民意测验教程,一切都很顺利,但我还是习惯了语法。你知道吗
这一行用普通英语读什么?你知道吗
return now - datetime.timedelta(days=1) <= self.pub_date <= now
我遇到麻烦的部分是<;=运算符。我知道这通常意味着小于或等于,但我从来没有见过像上面这样连续使用它们。你知道吗
简而言之:它检查self.pub_date是否在now和now之前24小时之间。你知道吗
self.pub_date
now
Python允许operator chaining [Python-doc]。这意味着如果你写x <= y <= z,那就是x <= y and y <= z的缩写,只是y只计算一次。你知道吗
x <= y <= z
x <= y and y <= z
y
因此,您可以将其理解为:
return (now - datetime.timedelta(days=1)) <= self.pub_date and self.pub_date <= now
现在now很可能是当前的时间戳,这意味着now - datetime.timedelta(days=1)是now之前的24小时。简而言之,它检查self.pub_date是否在now和now之前24小时之间(两者都包括在内)。如果保持不变,则返回True,否则返回False。你知道吗
now - datetime.timedelta(days=1)
True
False
很可能-虽然我们不能检查-now是当前时间戳,所以它意味着self.pub_date是否在昨天(同一时间)和当前时间戳之间。你知道吗
简而言之:它检查
self.pub_date
是否在now
和now
之前24小时之间。你知道吗Python允许operator chaining [Python-doc]。这意味着如果你写
x <= y <= z
,那就是x <= y and y <= z
的缩写,只是y
只计算一次。你知道吗因此,您可以将其理解为:
现在
now
很可能是当前的时间戳,这意味着now - datetime.timedelta(days=1)
是now
之前的24小时。简而言之,它检查self.pub_date
是否在now
和now
之前24小时之间(两者都包括在内)。如果保持不变,则返回True
,否则返回False
。你知道吗很可能-虽然我们不能检查-
now
是当前时间戳,所以它意味着self.pub_date
是否在昨天(同一时间)和当前时间戳之间。你知道吗相关问题 更多 >
编程相关推荐