426 Stimmen

Wie wird die Anweisung "pass" verwendet?

Ich bin gerade dabei, Python zu lernen, und bin bei dem Abschnitt über die pass Erklärung. Der Leitfaden, den ich verwende, definiert es als eine Null-Anweisung, die üblicherweise als Platzhalter verwendet wird.

Ich verstehe allerdings immer noch nicht ganz, was das bedeutet. Was wäre eine einfache/grundlegende Situation, in der die pass Aussage verwendet werden würde und warum sie benötigt würde?

8voto

Arijit Punkte 175

pass in Python macht im Grunde nichts, aber im Gegensatz zu einem Kommentar wird es vom Interpreter nicht ignoriert. Sie können ihn also an vielen Stellen nutzen, indem Sie ihn zu einem Platzhalter machen:

1: Kann im Unterricht verwendet werden

class TestClass:
    pass

2: Kann in Schleifen und bedingten Anweisungen verwendet werden:

if (something == true):  # used in conditional statement
    pass

while (some condition is true):  # user is not sure about the body of the loop
    pass

3: Kann in Funktion verwendet werden:

def testFunction(args): # The programmer wants to implement the body of the function later
    pass

pass wird meist verwendet, wenn der Programmierer im Moment keine Implementierung vornehmen möchte, aber dennoch eine bestimmte Klasse/Funktion/Bedingung erstellen möchte, die später verwendet werden kann. Da der Python-Interpreter keine leere oder nicht implementierte Klasse, Funktion oder bedingte Anweisung zulässt, gibt er einen Fehler aus:

IndentationError: erwartete einen eingerückten Block

pass kann in solchen Szenarien verwendet werden.

8voto

Deepak Dixit Punkte 1352

Sie können sagen, dass Pass bedeutet eine NOP (kein Betrieb) Betrieb. Nach diesem Beispiel werden Sie ein klares Bild bekommen:

C Programm

#include<stdio.h>

void main()
{
    int age = 12;

    if( age < 18 )
    {
         printf("You are not adult, so you can't do that task ");
    }
    else if( age >= 18 && age < 60)
    {
        // I will add more code later inside it 
    }
    else
    {
         printf("You are too old to do anything , sorry ");
    }
}

Nun, wie Sie das in Python schreiben werden:

age = 12

if age < 18:

    print "You are not adult, so you can't do that task"

elif age >= 18 and age < 60:

else:

    print "You are too old to do anything , sorry "

Aber Ihr Code gibt einen Fehler, weil er einen eingerückten Block nach elif . Hier ist die Rolle des Pass Stichwort.

age = 12

if age < 18:

    print "You are not adult, so you can't do that task"

elif age >= 18 and age < 60:

    pass

else:

    print "You are too old to do anything , sorry "

Ich denke, das ist Ihnen jetzt klar.

4voto

Usagi Punkte 2786

Ehrlich gesagt, denke ich, dass die offizielle Python-Dokumente recht gut beschreiben und einige Beispiele anführen:

En Pass Anweisung nichts bewirkt. Sie kann verwendet werden, wenn eine Anweisung syntaktisch erforderlich ist, das Programm aber keine Aktion erfordert. Zum Beispiel:

>>> while True: ... pass # Busy-wait for keyboard interrupt (Ctrl+C) ...

Dies wird üblicherweise für die Erstellung von Minimal-Klassen verwendet:

>>> class MyEmptyClass: ... pass ...

Ein anderer Ort Pass kann als Platzhalter für eine Funktion oder einen Bedingungskörper verwendet werden, wenn Sie an neuem Code arbeiten, so dass Sie auf einer abstrakteren Ebene weiterdenken können. Die Pass wird stillschweigend ignoriert:

>>> def initlog(*args): ... pass # Remember to implement this! ...

1voto

John Anchery Punkte 73

Wenn Sie ein Modul importieren wollen, wenn es existiert, und den Import ignorieren wollen, wenn das Modul nicht existiert, können Sie den folgenden Code verwenden:

try:
    import a_module
except ImportError:
    pass
# The rest of your code

Wenn Sie das Schreiben der Pass Anweisung zu öffnen und mit dem Schreiben des restlichen Codes fortzufahren, würde ein Einrückungsfehler (IndentationError) ausgelöst werden, da die Zeilen nach dem Öffnen des Except-Blocks nicht eingerückt sind.

0voto

Pass ist lediglich der Indikationscode von Leere .

Zum Beispiel, pass wird verwendet, um eine leere Klasse oder Funktion zu erstellen, wie unten gezeigt:

class Test:
    pass

def test():
    pass

Aber, wenn eine Klasse oder Funktion wirklich nichts hat, sogar pass wie unten dargestellt:

class Test:
    # pass

def test():
    # psss

Es tritt ein Fehler auf, wie unten dargestellt:

SyntaxError: unerwartetes EOF beim Parsen

Und wie ich bereits sagte, pass ist lediglich der Indikationscode von Leere Wenn also ein Code nach pass funktioniert der Code wie unten gezeigt:

class Test:
    pass
    x = "Hello World"

def test():
    pass
    return "Hello World"

print(Test.x) # Hello World
print(test()) # Hello World

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X