programing

파이썬의 for 루프에서 "통과"와 "계속" 사이에 차이가 있습니까?

newsource 2023. 5. 5. 09:45

파이썬의 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일부 공간을 채우는 데 사용되는 구문 자리 표시자입니다.특정 조건이 체크아웃된 경우 아무 작업도 수행하지 않으려면 다음을 사용할 수 있습니다.passPython에서할 수 .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