PhoneGapBuild Плагин customurlscheme дескриптор запущен до поздна

О действительном поведении нет никакой разницы. Все они возвращаются None, и все. Тем не менее, есть время и место для всех этих. Следующие инструкции в основном касаются того, как следует использовать различные методы (или, по крайней мере, как меня учили, они должны использоваться), но они не являются абсолютными правилами, поэтому вы можете смешивать их, если вам необходимо.

Использование return None

Это говорит о том, что функция действительно предназначена для возврата значения для последующего использования, и в этом случае она возвращает None. Это значение None можно затем использовать в другом месте. return None никогда не используется, если из функции нет других возможных возвращаемых значений.

В следующем примере мы возвращаем person 's mother, если указанный person является человеком. Если это не человек, мы возвращаемся None, так как person не имеет mother (предположим, что это не животное или так).

def get_mother(person):
    if is_human(person):
        return person.mother
    else:
        return None

Используя return

Используется по той же причине, что и break в циклах. Возвращаемое значение не имеет значения, и вы хотите только выйти из всей функции. Это очень полезно в некоторых местах, даже если вам это не нужно часто.

У нас получилось 15 prisoners, и мы знаем, что у одного из них есть нож. Мы каждую секунду прокручиваем каждый prisoner, чтобы проверить, есть ли у них нож. Если мы ударим человека ножом, мы можем просто выйти из функции, потому что мы знаем, что есть только один нож и нет причины для проверки остальной части prisoners. Если мы не найдем prisoner с ножом, мы поднимем предупреждение. Это можно сделать разными способами, и использование return, вероятно, даже не лучший способ, но это просто пример, показывающий, как использовать return для выхода из функции.

def find_prisoner_with_knife(prisoners):
    for prisoner in prisoners:
        if "knife" in prisoner.items:
            prisoner.move_to_inquisition()
            return # no need to check rest of the prisoners nor raise an alert
    raise_alert()

Примечание. : Вы никогда не должны делать var = find_prisoner_with_knife(), так как возвращаемое значение не предназначено для захвата.

Использование no return вообще

Это также вернет None, но это значение не предназначено для использования или поймания. Это просто означает, что функция успешно завершилась. Это в основном то же, что и return в функциях void в таких языках, как C ++ или Java.

В следующем примере мы указываем имя матери, а затем функция завершается после успешного завершения.

def set_mother(person, mother):
    if is_human(person):
        person.mother = mother

Примечание: вы никогда не должны делать var = set_mother(my_person, my_mother), так как возвращаемое значение не предназначено для улавливания.

0
задан Frank 79 22 December 2018 в 08:17
поделиться