添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

In Python, the pass statement does nothing. It is used when a syntactically valid statement is required, but no action needs to be performed.

  • 7. Simple statements - The pass statement — Python 3.11.3 documentation
  • This article first explains the meaning of pass in Python and then describes how to use the pass statement with concrete examples.

    What does the pass statement mean in Python

    As you can see in the official documentation, the pass statement does nothing.

    pass is a null operation — when it is executed, nothing happens. It is useful as a placeholder when a statement is required syntactically, but no code needs to be executed
    7. Simple statements - The pass statement — Python 3.11.3 documentation

    In Python, the contents of the def statement in function definitions and the if statement in conditional branches cannot be omitted. You can use the pass statement when you need to write a syntactically valid statement but don't need to perform any action.

    Difference between pass and continue

    If the continue statement is used in the for or while loop, it will proceed to the next step without executing any code written after continue .

  • Python for loop (with range, enumerate, zip, etc.)
  • Python while loop (infinite loop, etc.)
  • for i in range(3):
        print(i)
        if i == 1:
            continue
            print('CONTINUE')
    
    

    On the other hand, the pass statement does nothing, so the code written after the pass statement is executed.

    for i in range(3):
        print(i)
        if i == 1:
            print('PASS')
    # PASS
    
    

    Define an empty function and class with pass

    You may need to define an empty function or class when you want to define a function or class first and then postpone the implementation.

    If nothing is written in the def statement, an error is raised.

    # def empty_func():
    # SyntaxError: unexpected EOF while parsing
    
    

    You can define an empty function that does nothing with the pass statement.

    def empty_func():
    
    

    The same is true for class.

    # class EmptyClass():
    # SyntaxError: unexpected EOF while parsing
    class EmptyClass():
    
    

    Although it is not recommended in PEP8 (E701), writing pass after a colon : does not raise an error.

  • PEP 8 - Other Recommendations – Style Guide for Python Code | peps.python.org
  • Error codes — pycodestyle 2.10.0 documentation
  • def empty_func_one_line(): pass
    class EmptyClassOneLine(): pass
    
    

    Create an empty file with pass

    To create a new file, use with and open() in the write mode w.

  • Read, write, and create files in Python (with and open())
  • Normally, you would use the write() method to write contents to a file, but you can create an empty file using the pass statement instead.

    with open('temp/empty.txt', 'w'):
    
    

    You can also write it in a single line.

    with open('temp/empty.txt', 'w'): pass
    
    

    In Python 3.4 and later, it is also possible to create an empty file with touch() of the pathlib module.

  • pathlib — Object-oriented filesystem paths — Python 3.9.1 documentation
  • Clarify that nothing is done in if ... elif ... else ... with pass

    You cannot omit the contents of each block in if ... elif ... else ....

  • Python if statements (if, elif, else)
  • Use the pass statement when you want to postpone implementation or make the code's intent clearer by explicitly stating that no action is taken.

    a = 3
    if a % 2 == 0:
        print('Even')
    else:
    
    source: pass_if.py

    Do nothing in exception handling (= ignore exceptions) with pass

    When an exception is raised, an error message is output, and the process is terminated.

    def divide(a, b):
        print(a / b)
    # divide(1, 0)
    # ZeroDivisionError: division by zero
    
    

    You can use try to catch an exception and take action. If an exception is caught, the process continues without terminating.

    def divide_exception(a, b):
        try:
            print(a / b)
        except ZeroDivisionError as e:
            print('ZeroDivisionError: ', e)
    divide_exception(1, 0)
    # ZeroDivisionError:  division by zero
    
    

    Use the pass statement if you want to catch an exception and do nothing. Even if an exception raises, the process can continue without doing anything.