KyleXID

몬스터코딩

pass,return,continue,break

2019-05-16 KyleXIDTIL

조건문을 쓸때 pass와 return의 차이 feat.continue,break

  • pass : 단순히 지나가는 역할, 행 이하의 라인의 코드들을 실행함.

    • 일반적으로 함수나 클래스의 구현을 미룰 때 쓴다.
  • continue : loop에서 현재 행 이하의 구문은 실행 하지 않고, loop의 시작지점으로 돌아갈 경우 사용
  • break : loop 하나를 빠져나올 때 쓴다. 만약 이중 loop면 내부 loop만 빠져나온다는 뜻

codekata를 풀면서 잘못 알고 있는 점을 찾을 수 있어서 매우 좋은 경험이었다.

재귀함수 코드카타를 풀면서 스트링을 하나씩 pop해서 새로운 배열에 넣어주는 코딩을 했는데, 이때 기존 스트링의 길이가 0이 될 경우 난 pass를 사용했다.
단순히 pass쓰면 알아서 나갈꺼라고 착각해버린것,,,,,

하지만 여기서 pass를 사용하면 아래의 else 조건문을 타게되면서 아무것도 없는 Nonetype이 재귀함수로 또 들어가게 되면서 에러가 발생하게 된다.

스트링의 길이가 0이 되면 단순히 비어있는 값을 return 해주면 된다.

def reverseString(str):
  if len(str) == 0:
    return ''
  else:
    str = list(str)
    a = str.pop()
    str = ''.join(str)
    print(a)
    print(str)
    return a+reverseString(str)

print(reverseString('hello'))