Правильное использование «возврата» в функциях - PullRequest
1 голос
/ 27 мая 2020

Я пишу метод и хочу, чтобы он остановился, если что-то не в порядке (go он вернется к другому методу, у которого есть время l oop). Интересно, следует ли мне использовать «return», чтобы остановить этот метод, чтобы он работал дальше, или есть что-то получше. Этот метод действительно не предназначен для возврата чего-либо. Любые другие комментарии очень приветствуются, я супер новичок.

def storage_parser(self):
    left_side, right_side = (self.user_input.split('='))
    while left_side[-1] == ' ':
        left_side = left_side[:-1]
    if set(left_side) >= set(string.ascii_letters):
        print('Invalid identifier')
        return
    while right_side[0] == ' ':
        right_side = right_side[1:]
    if any(item in string.digits for item in right_side) and any(item not in string.digits for item in right_side):
        print('Invalid assignment')
        return
    # more code goes after here

Ответы [ 2 ]

1 голос
/ 27 мая 2020

Да, это совершенно нормальная стандартная практика - использовать return для выхода из функции, фактически ничего не возвращая. Вызов return без передачи чего-либо просто завершает функцию, и это самый чистый способ sh этого!

0 голосов
/ 27 мая 2020

Я чувствую, что вы можете использовать break вместо return, чтобы прорваться через l oop в случае любого «Недействительного идентификатора». Если я могу вас правильно понять, тогда, я думаю, вы спрашиваете, что если первый l oop выходит из строя, код не должен откладывать второй l oop, он также должен выполняться. L oop должен останавливаться только в случае ошибки. Поправьте меня, если я ошибаюсь ..

...