[python] 함수가 종료되기 전에 파이썬에서 함수를 반환하는 가장 좋은 방법은 무엇입니까 (예 : 검사 실패)?

반환 값없이 함수를 호출하는 반복을 가정 해 봅시다. 내 프로그램이 작동해야한다고 생각하는 방식은이 의사 코드에 설명되어 있습니다.

for element in some_list:
    foo(element)

def foo(element):
    do something
    if check is true:
        do more (because check was succesful)
    else:
        return None
    do much much more...

파이썬에서 이것을 구현하면 함수가 a를 반환한다고 귀찮게합니다 None. “함수 본문에서 검사에 실패한 경우 반환 값이없는 함수를 종료하는 더 좋은 방법이 있습니까?”



답변

당신은 단순히 사용할 수 있습니다

return

정확히 같은

return None

None실행이 return명령문을 누르지 않고 함수 본문의 끝에 도달하면 함수도 리턴 됩니다 . 아무것도 반환하지 않는 것은 None파이썬에서 반환하는 것과 같습니다 .


답변

내가 제안 할게:

def foo(element):
    do something
    if not check: return
    do more (because check was succesful)
    do much much more...


답변

return매개 변수없이 명령문을 사용하여 함수를 종료 할 수 있습니다.

def foo(element):
    do something
    if check is true:
        do more (because check was succesful)
    else:
        return
    do much much more...

문제에 대한 정보를 얻으려면 예외를 제기하십시오.

def foo(element):
    do something
    if check is true:
        do more (because check was succesful)
    else:
        raise Exception("cause of the problem")
    do much much more...


답변