내일배움캠프 15일차 TIL

개발일지 시작의

팀 페이지 만들기 어렵다...

개발 업무내용

사용자의 정보 중 소속된 팀이 있는지 확인하고 있으면 바로 팀 정보 페이지가 나오고 아니면 팀 만들기 버튼이 나올 수 있게

오늘의 이슈/고민..그리고 해결한 내용

파이썬으로 사용자의 정보 중에서 소속된 팀이 none이면 none값을 리턴하는 함수를 만들었는데 찾아보니 파이썬 함수에서 none을 리턴하는 방법 중 자주 사용되는 3가지가 있는 걸 알게됐다 사실 동작에는 차이가 없지만 그래도 읽어보니 나름의 차이는 있는 것 같아 정리해봤다
1. return

def find_prisoner_with_knife(prisoners):
    for prisoner in prisoners:
        if "knife" in prisoner.items:
            prisoner.move_to_inquisition()
            return # no need to check rest of the prisoners nor raise an alert
    raise_alert()

탐색에 성공하면 for문을 끝까지 다 돌지 않고 return을 통해 전체 함수를 종료하는 것이 중요, 위 코드의 경우 prisoners중 칼을 소지한 한 명을 찾으면 나머지를 확인할 이유가 없기 때문에 return으로 함수를 종료
2. return none

FRUITS = {"banana", "apple"}


def get_some_fruit(fruit):
    if fruit in FRUITS:
        return fruit
    return None
    
if __name__ == "__main__":
	if get_some_fruit("banana") is not None:
    	print("이것은 과일 입니다")
	else:
        print("이것은 과일이 아닙니다")

함수가 나중에 사용하기 위해 값을 반환한다는 의미, 위 코드의 경우 none일 때와 none이 아닐 때 실행하는 코드가 다르기 때문에 그냥 return보다 명시적으로 none을 리턴해 알려주는 것이 좋음
3. return 사용하지 않음

def set_some_fruit(fruit):
    fruits = []
    if is_fruit(fruit):
        fruits.append(fruit)

결국 none이 반환되지만 이 값이 위의 경우처럼 사용되거나 확인해야할 필요가 없기 때문에 사용하지 않음

To-do List

aws 강의 3개 듣기, 심화 강의 8개 듣기, 소속된 팀이 있을때, 없을때 구현

참고

파이썬 함수에서 none을 리턴하는 여러 방법에 대해

https://stackoverflow.com/questions/15300550/return-return-none-and-no-return-at-all/15300671#15300671

좋은 웹페이지 즐겨찾기