본문 바로가기
파이썬

파이썬 Python에서 True, False 및 None 반환

by º기록 2021. 1. 23.
반응형

a 함수 b 호출 ( a True 또는 False 반환) , 이후 함수 a 는 인쇄 할 결과를 반환 할 수 있습니다.

class C:
    ...

    def a(self, data):

        p = self.head
        return self.b( p,data)

    def b(self, p, data):

        current = p
        if current.data == data:
            return True
        else:
            return False


if __name__=="__main__":  

    x = C()
    print(x.a(1))

때때로 True 를 의도하더라도 None을 반환합니다. 무슨 일이 있었는지 모르겠어요?

 

해결 방법

 

실제 코드를 보지 않고는 말할 수 없습니다. 그 이유는 return 문을 실행하지 않는 함수를 통한 코드 경로 때문일 수 있습니다. 코드가 해당 경로로 내려 가면 함수는 반환 된 값없이 종료되므로 None 을 반환합니다.

업데이트 됨 : 코드가 다음과 같이 보입니다.

def b(self, p, data): 
    current = p 
    if current.data == data: 
        return True 
    elif current.data == 1:
        return False 
    else: 
        self.b(current.next, data)

else 절은 None 경로입니다. 재귀 호출이 반환하는 값을 반환해야합니다.

    else:
        return self.b(current.next, data)

BTW : 이와 같은 반복 프로그램에 재귀를 사용하는 것은 Python에서 좋은 생각이 아닙니다. 대신 반복을 사용하십시오. 또한 명확한 종료 조건이 없습니다.

 

참조 페이지 https://stackoverflow.com/questions/15604267

 

 

반응형

댓글