파이썬의 for 루프에서 "통과"와 "계속" 사이에 차이가 있습니까?
두 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
처리를 계속합니다.
통과가 루프의 끝에 있는 경우 흐름이 루프의 맨 위로 되돌아가기 때문에 차이는 무시할 수 있습니다.
for 루프에서 pass와 continue의 차이:
그런데 왜 파이썬을 통과합니까?
빈 클래스, 메서드 또는 블록을 만들려면
예:
class MyException(Exception):
pass
try:
1/0
except:
pass
위의 예에서 '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
아무것도 하지 않습니다.빈 문 자리 표시자입니다.
저는 당신에게 이것을 더 잘 설명할 수 있는 예를 제시하고 싶습니다.
>>> some_list = [0, 1, 2]
... 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
아무것도 하지 않는 빈 문입니다.
python 문서 참조
그 예들에서, 아니요.문이 루프의 맨 마지막이 아니면 매우 다른 효과가 있습니다.
이를 다음과 같이 생각합니다.
패스: 파이썬은 들여쓰기에서만 작동합니다!다른 언어와 달리 빈 곱슬곱슬한 교정기는 없습니다.
따라서 조건이 참인 경우 아무것도 하지 않으려면 통과 외에는 다른 옵션이 없습니다.
계속:이것은 루프의 경우에만 유용합니다.값 범위에 대해 해당 조건이 해당 특정 패스에 대해 참인 후 루프의 나머지 문을 실행하지 않으려면 continue를 사용해야 합니다.
x = [1,2,3,4]
for i in x:
if i==2:
pass #Pass actually does nothing. It continues to execute statements below it.
print "This statement is from pass."
for i in x:
if i==2:
continue #Continue gets back to top of the loop.And statements below continue are executed.
print "This statement is from continue."
출력은
>>> This statement is from pass.
다시 한 번, 작은 변경 사항으로 동일한 코드를 실행합니다.
x = [1,2,3,4]
for i in x:
if i==2:
pass #Pass actually does nothing. It continues to execute statements below it.
print "This statement is from pass."
for i in x:
if i==2:
continue #Continue gets back to top of the loop.And statements below continue are executed.
print "This statement is from continue."
출력은 -입니다.
>>> This statement is from pass.
This statement is from pass.
This statement is from pass.
This statement is from pass.
This statement is from continue.
This statement is from continue.
This statement is from continue.
패스는 아무 것도 안 해요.계산은 영향을 받지 않습니다.그러나 계속은 루프의 맨 위로 돌아가서 다음 계산을 진행합니다.
pass
루프 또는 상태를 계속합니다.아무 것도 안 해요. continue
그러나 현재 반복을 건너뛰고 다음 반복으로 이동하는 데 사용됩니다.
당신은 질문할 수 있습니다, 왜.pass
필요하지 않다면 사용할 수 있습니까?다음과 같은 경우를 생각해 보십시오.
text = "I am a coder."
if text == "I am not a coder.":
print("Programming is interesting! You should try it out!")
elif text == "I am a coder.":
pass
pass
일부 공간을 채우는 데 사용되는 구문 자리 표시자입니다.특정 조건이 체크아웃된 경우 아무 작업도 수행하지 않으려면 다음을 사용할 수 있습니다.pass
Python에서할 수 .Python에서는 빈 조건, 루프 또는 함수만 작성할 수 없습니다.
통과하다 just는 다음과 같이 아무것도 하지 않고 비어 있음을 나타냅니다.
for i in range(3):
if i == 1:
pass
print(i)
출력:
0
1
2
계속하다.는 아래와 같이 현재 루프를 다음 루프로 건너뜁니다.
for i in range(3):
if i == 1:
continue
print(i)
출력:
0
2
pass
향후 구현을 위해 일부 빈 함수, 클래스 또는 루프가 필요하고 코드를 실행할 필요가 없는 시나리오에서 사용할 수 있습니다.
continue
루프 내에서 조건이 충족되지 않아 현재 반복을 건너뛰고 다음 반복으로 이동해야 하는 경우에 사용됩니다.
언급URL : https://stackoverflow.com/questions/9483979/is-there-a-difference-between-pass-and-continue-in-a-for-loop-in-python
'programing' 카테고리의 다른 글
OrderedDict는 Python 3.7에서 중복됩니까? (0) | 2023.05.05 |
---|---|
상위 100% 선택을 사용하는 이유는 무엇입니까? (0) | 2023.05.05 |
웹 구성 변환이 작동하지 않습니다. (0) | 2023.05.05 |
Xcode DMG 또는 XIP 파일을 다운로드하는 방법은 무엇입니까? (0) | 2023.05.05 |
NuGet의 패키지 위치를 변경할 수 있습니까? (0) | 2023.05.05 |