Есть ли разница между `continue` и` pass` в цикле for в python?

Есть ли существенная разница между двумя ключевыми словами python continue и pass, как в примерах

for element in some_list:
    if not element:
        pass

и

for element in some_list:
    if not element:
        continue

я должен знать?

Ответ 1

Да, они делают совершенно разные вещи. 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

Ответ 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

Ответ 3

continue вернется в начало цикла. pass продолжит обработку.

если проход находится в конце цикла, разница незначительна, так как поток все равно вернется к вершине цикла.

Ответ 4

В вашем примере разница не будет, так как оба оператора появляются в конце цикла. pass является просто заполнителем, поскольку он ничего не делает (он передает выполнение следующему оператору). continue, с другой стороны, имеет определенную цель: он сообщает, что цикл продолжается, как если бы он только что перезапустился.

for element in some_list:
    if not element:
        pass
    print element  

сильно отличается от

for element in some_list:
    if not element:
        continue
    print element

Ответ 5

В этих примерах нет. Если утверждение не является самым последним в цикле, то они имеют очень разные эффекты.

Ответ 6

Да, есть разница. Continue фактически пропускает оставшуюся часть текущей итерации цикла (возвращается к началу). Pass - пустой оператор, который ничего не делает.

Смотрите документы python

Ответ 7

Существует разница между ними, 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

Ответ 8

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.

Пасс ничего не делает. Вычисление не изменяется. Но продолжайте возвращаться к вершине цикла, чтобы выполнить следующий расчет.

Ответ 9

Рассмотрим это так:

Pass: Python работает исключительно с отступами! Там нет пустых фигурных скобок, в отличие от других языков.

Итак, если вы хотите ничего не делать в случае, если условие истинно, нет другого выбора, кроме pass.

Продолжить: Это полезно только в случае циклов. В случае, если для диапазона значений вы не хотите выполнять оставшиеся операторы цикла после того, как это условие истинно для данного конкретного прохода, вам придется использовать continue.