рекомендации по возврату логического значения из функции - жесткого кода или из переменной - PullRequest
0 голосов
/ 30 октября 2018

Что является лучшим методом для возврата логического значения из функции:

  1. Закодировано
  2. как переменная

Код 1 :

    (status, response) = self.generate_pdf(html_data)
    if not status:
        return (False, response)

Код 2 :

    (status, response) = self.generate_pdf(html_data)
    if not status:
        return (status, response)

По моему мнению, возвращаемое значение жесткого кода (False или True) - это хорошо.

[подробнее] Я всегда возвращаю два параметра из каждой функции, status и response. status - логический объект, то есть значение True или False. response - объект словаря.

Поскольку status имеет значение False, то есть status ссылается на адрес False.

>>> id(False)
493227104
>>> status = False
>>> id(status')
493227104 

То есть возвращение имени ссылочной переменной является хорошей практикой или фактическим значением bool?

1 Ответ

0 голосов
/ 30 октября 2018

Этот вопрос основан на мнениях, но я хотел бы указать на разницу между двумя подходами: условие if not status произойдет, если status - это любое ложное значение y - фактическое False, 0, None и т. Д.

Первый подход всегда вернет False. Второй сохранит все первоначальные ложные значения, вызвавшие оценку условия. То, будет ли первое или второе более подходящим, зависит от вашей программы и некоторого дополнительного контекста, который не был указан в вопросе.

...