【问题标题】:What does this line of code read in plain English?这行代码用简单的英语读什么?
【发布时间】:2019-09-25 09:45:19
【问题描述】:

我是 python 和 Django 的新手。我一直在玩 Django polls 教程,一切都很顺利,但我仍然习惯了语法。

这行用简单的英语读什么?

return now - datetime.timedelta(days=1) <= self.pub_date <= now

我遇到问题的部分是

【问题讨论】:

标签: python django


【解决方案1】:

简而言之:它检查self.pub_date 是否在nownow 之前的24 小时之间。

Python 允许operator chaining [Python-doc]。这意味着如果你写x &lt;= y &lt;= z,那是x &lt;= y and y &lt;= z的缩写,除了y只被评估一次。

因此,您可以将其解读为:

return (now - datetime.timedelta(days=1)) &lt;= self.pub_date and self.pub_date &lt;= now

现在now 可能是当前时间戳,这意味着now - datetime.timedelta(days=1)now 早24 小时。所以简而言之,它会检查 self.pub_date 是否在 nownow 之前的 24 小时之间(包括两者)。如果成立则返回True,否则返回False

可能 - 虽然我们无法检查 - now 是当前时间戳,所以这意味着 self.pub_date 是否介于昨天(同一时间)和当前时间戳之间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 2011-03-03
    相关资源
    最近更新 更多