Что означает оператор> = в этом операторе возврата? - PullRequest
0 голосов
/ 18 апреля 2020

Я знаю, что больше, чем равно оператору? Я спрашиваю, что это значит здесь? Что означает оператор > = в последней строке? Я уверен, что это не лямбда-функция В чем смысл этого оператора возврата?

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».

Ответы [ 2 ]

1 голос
/ 18 апреля 2020

>= означает больше или равно.

В этом коде

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))
1 голос
/ 18 апреля 2020

Это означает «больше или равно».

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

Мы сравниваем pub_date со вчерашним днем.

...