【问题标题】:What does the >= operator mean in this return statement?>= 运算符在此 return 语句中的含义是什么?
【发布时间】:2020-04-18 19:30:07
【问题描述】:

我知道大于等于运算符是什么吗?我问这里是什么意思?最后一行的 >= 运算符是什么意思?我确定是不是lambda函数这个return语句是什么意思?

import datetime

from django.db import models
from django.utils import timezone


class Question(models.Model):
    # ...
    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)

Django 文档 中,https://docs.djangoproject.com/en/3.0/intro/tutorial02/,位于“使用 API”部分下。

【问题讨论】:

  • 意思是“大于或等于”。
  • 这是什么意思?
  • 在 JavaScript 中,lambda 表达式的箭头是=>,而不是>=
  • 它比较左边的和右边的。如果大于或等于,则计算为True,否则计算为False

标签: python django django-models django-views


【解决方案1】:

>= 表示大于或等于。

在这段代码中

class Question(models.Model):
    # ...
    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)

首先,从当前时间中减去一天,然后将self.pub_date 与该时间进行比较。如果pub_date 在当前时间的一天内,那么这将返回true。否则,该函数将返回 false。

根据操作顺序,这将是等效的:

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

【讨论】:

  • 谢谢,我现在明白了!
【解决方案2】:

意思是“大于或等于”。

https://docs.python.org/3/reference/expressions.html#comparisons

我们正在将pub_date 与昨天进行比较。

【讨论】:

    猜你喜欢
    • 2017-02-20
    • 2011-12-28
    • 2016-06-28
    • 2015-10-29
    • 2022-12-12
    • 2011-04-24
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多