>  기사  >  백엔드 개발  >  내 재귀 Python 함수가 없음을 반환하는 이유는 무엇입니까?

내 재귀 Python 함수가 없음을 반환하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-12 14:28:02743검색

Why Does My Recursive Python Function Return None?

Python에서 재귀 함수가 없음을 반환함: 문제 해결

Python에서 재귀 함수를 사용할 때 특정 시나리오에서 상황이 발생할 수 있습니다. 여기서 함수는 원하는 값 대신 None을 반환합니다. 이 문제는 일반적으로 함수가 특정 경로를 반환하려고 했지만 검색된 실제 결과가 없음인 경우에 발생합니다.

이 문제의 잠재적 원인 중 하나는 재귀 호출 후 return 문이 누락되었기 때문입니다. 이 문제를 해결하려면 함수가 재귀 호출의 결과를 명시적으로 반환해야 합니다. return 문을 포함하도록 코드를 수정하면 함수가 필요한 경로를 반환합니다.

else:
    return get_path(directory[filename], rqfile, path)

또한, 결과에 관계없이 함수 끝에 return 문을 일관되게 포함하는 것이 좋습니다. 재귀 호출. 이렇게 하면 함수가 항상 값을 반환하여 None을 잘못 반환할 가능성을 방지할 수 있습니다.

for filename in dictionary.keys():
    path = prefix+[filename]
    if not isinstance(dictionary[filename], dict):
        if rqfile in str(os.path.join(*path)):
            return str(os.path.join(*path))

    return get_path(directory[filename], rqfile, path)

이 제안된 조정을 구현하면 재귀 함수가 None이 아닌 의도한 경로를 반환하여 문제를 해결합니다. 발생했습니다.

위 내용은 내 재귀 Python 함수가 없음을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.