source

함수가 종료되기 전에(예를 들어 검사가 실패하기 전에) python에서 함수를 종료하는 가장 좋은 방법은 무엇입니까?

factcode 2022. 9. 27. 23:48
반응형

함수가 종료되기 전에(예를 들어 검사가 실패하기 전에) 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...

이것을 python에 실장하면, 함수가 python을 반환하는 것이 신경이 쓰입니다.None. "함수 본문에 체크가 실패했을 경우 반환값이 없는 함수를 종료하는" 더 좋은 방법이 있습니까?

간단하게 사용할 수 있습니다.

return

같은 일을 하고 있다

return None

함수도 반환됩니다.None실행이 Function Body의 끝에 도달했을 경우,return진술.아무것도 반환하지 않는 것은 반환하는 것과 같다.NonePython에서.

제안합니다.

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...
  1. return None또는return기능 또는 프로그램을 종료하는 데 사용할 수 있으며, 둘 다 동일한 작업을 수행합니다.
  2. quit()기능을 사용할 수 있지만, 이 기능을 사용하는 것은 실제 응용 프로그램 작성에는 권장되지 않으며 통역에서만 사용해야 합니다.
    import site
    
    def func():
        print("Hi")
        quit()
        print("Bye")
  1. exit()다음과 같은 기능을 사용할 수 있습니다.quit()그러나 실제 응용 프로그램을 만들기 위해서는 사용이 권장되지 않습니다.
import site
    
    def func():
        print("Hi")
        exit()
        print("Bye")
  1. sys.exit([arg])기능을 사용할 수 있으며 사용할 필요가 있습니다.import sys이 기능은 다른 두 가지 기능과는 달리 실제 애플리케이션에 사용할 수 있습니다.
import sys 
  height = 150
  
if height < 165: # in cm 
      
    # exits the program 
    sys.exit("Height less than 165")     
else: 
    print("You ride the rollercoaster.") 
  1. os._exit(n)함수를 사용하여 프로세스를 종료할 수 있습니다.import os모듈로 변환합니다.

언급URL : https://stackoverflow.com/questions/6190776/what-is-the-best-way-to-exit-a-function-which-has-no-return-value-in-python-be

반응형