[python] 파이썬에서 for 루프에서`continue`와`pass` 사이에 차이점이 있습니까?
두 개의 python 키워드 continue
와 pass
예제에서 와 같은 중요한 차이점이 있습니까?
for element in some_list:
if not element:
pass
과
for element in some_list:
if not element:
continue
알고 있어야합니까?
답변
예, 그들은 완전히 다른 일을합니다. 다음 루프 반복으로 진행 pass
하면서 단순히 아무것도하지 않습니다 continue
. 귀하의 예에서 if
: 실행 후 다른 명령문을 추가하면 차이가 분명해집니다 . 실행 후이 pass
추가 명령문이 실행됩니다. 후에 continue
는 그렇지 않습니다.
>>> a = [0, 1, 2]
>>> for element in a:
... if not element:
... pass
... print element
...
0
1
2
>>> for element in a:
... if not element:
... continue
... print element
...
1
2
답변
예, 차이가 있습니다. ” continue
다음 pass
에 실행할 코드가 없음” 을 의미 하면서 루프가 다음 반복에서 시작되도록 하고 나머지 또는 루프 본문을 계속 진행합니다.
이것을 실행하고 차이점을 확인하십시오.
for element in some_list:
if not element:
pass
print 1 # will print after pass
for element in some_list:
if not element:
continue
print 1 # will not print after continue
답변
continue
루프의 상단으로 돌아갑니다. pass
처리를 계속합니다.
통과가 루프의 끝에 있으면 흐름이 루프의 맨 위로 돌아 가기 때문에 차이는 무시할 수 있습니다.
답변
귀하의 예에서는 두 문이 루프의 끝에 표시되므로 차이가 없습니다. pass
아무것도하지 않는다는 점에서 단순히 자리 표시 자입니다 ( 다음 명령문으로 실행을 전달 함 ). continue
반면에, 명확한 목적을 가지고 있습니다 : 루프 가 마치 다시 시작한 것처럼 계속 하도록 지시합니다 .
for element in some_list:
if not element:
pass
print element
~와는 매우 다릅니다
for element in some_list:
if not element:
continue
print element
답변
그들 사이에 차이가 continue
있으며 루프의 현재 반복을 건너 뛰고 다음 반복을 실행합니다. pass
아무것도하지 않습니다. 빈 문 자리 표시 자입니다.
차라리 예를 들어 설명하겠습니다.
>>> for element in some_list:
... if element == 1:
... print "Pass executed"
... pass
... print element
...
0
Pass executed
1
2
>>> for element in some_list:
... if element == 1:
... print "Continue executed"
... continue
... print element
...
0
Continue executed
2
답변
예, 차이가 있습니다. Continue
실제로 루프의 나머지 현재 반복을 건너 뜁니다 (시작으로 돌아 감). Pass
아무것도하지 않는 빈 문장입니다.
참고 항목 파이썬 문서를
답변
이 예에서는 아닙니다. 명령문이 루프에서 마지막 이 아닌 경우 에는 매우 다른 효과가 있습니다.