pass,return,continue,break
조건문을 쓸때 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'))