[Python] return을 사용해야 되나 return None을 사용해야 되나.
return 문장으로 함수 처리를 끝내려면 return None을 사용해야 합니까, 아니면 return을 사용해야 합니까?
Python의 함수를 쓸 때 갑자기 의문이 드는 일.
함수의 중간에 처리를 끝내려면 return
를 써야 하는가 return None
를 써야 하는가 하는 문제다.
Python이 명확하게 쓰라고 추천했기 때문에 리턴 문장으로 처리를 끝낼 때와 되돌아올 때 None
써야 한다고 망설였습니다.(※ Python에서는 함수 정의에 return None
만 적혀 있거나 return
에 대한 설명이 없는 경우 return
로 돌아갑니다.참조: [Python] return 함수가 반환하는 값이 기록되지 않았습니다.
결론적으로 함수만 끝내고 싶을 때None
가 좋다.
하지만 return
만 쓸 때 주의해야 할 것이 몇 가지 있는 것 같다.
예를 들다
return, return None, and no return at all? 참조.예를 들어 설명하다.
return 사용
def hello_all():
persons = ['Zepp', 'Eric']
if persons:
for person in persons:
print('Hello ' + person)
# リストが空だったらNoneを返す
else:
return None
return None 사용
반환 값의 None을 사용하려면 return
을 명확하게 쓰지만, 반환 값이 아닌 종료 함수를 사용하려면 return None
을 사용하십시오.다음 코드는 for 순환을 종료하고 함수를 종료하는 데 사용됩니다.def hello_zepp():
persons = ['Zepp', 'Eric']
for person in persons:
print('Hello ' + person)
# 処理を終了
return
즉, for순환이 단중이라면 그 작용은 return
과 같다.
여러 개의 for 순환에 끼워 넣은 for 순환에서 처리를 끝내려면 break
과 달리 break
하나만 쓰면 함수를 끝낼 수 있기 때문에 코드가 간단합니다.
이렇게 사용return
할 때, 함수의 중간에 처리를 강제로 끝내려고 할 때, 예를 들어 순환을 통과할 때 사용한다.
주의사항
이런 상황에서 반환값return
은 사용으로 간주되지 않기 때문에 반환값을 변수에 대입할 수 없습니다.# ↓はやってはダメ
result = hello_zepp()
또 함수를 중간에 끝내려면 조건에 맞지 않아 처리를 중단하려는 경우도 포함된다.이런 상황에서 사용None
보다 적당한 예외류를 만들어 예외를 배제하고 호출자에서 예외 처리를 하는 것이 좋다.
return 설명 없음
Python의 함수는 반드시 return 문장이 필요하지는 않지만, return 문장이 없어도 return
를 반환값으로 합니다.# return文は無いが戻り値としてNoneが返される
def hello_eric():
persons = ['Zepp', 'Eric']
print('Hello ' + persons[1])
이 경우 None
의 경우와 마찬가지로 이 return None
를 사용한다고 가정하지 않기 때문에 반환값을 변수에 대입할 수 없습니다.
결론
def hello_all():
persons = ['Zepp', 'Eric']
if persons:
for person in persons:
print('Hello ' + person)
# リストが空だったらNoneを返す
else:
return None
def hello_zepp():
persons = ['Zepp', 'Eric']
for person in persons:
print('Hello ' + person)
# 処理を終了
return
# ↓はやってはダメ
result = hello_zepp()
# return文は無いが戻り値としてNoneが返される
def hello_eric():
persons = ['Zepp', 'Eric']
print('Hello ' + persons[1])
None
를 사용하는 것이 좋다.return
을 이용한 경우None
.return None
가 편리할 수 있다.return
나 리턴 문장이 없는 반환값return
을 사용하지 않습니다.Reference
이 문제에 관하여([Python] return을 사용해야 되나 return None을 사용해야 되나.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/_masa_u/items/b623ff04ddf24f77fd2c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)