AttributeError: __Exit__ in Python

MD Aminul Islam 21 Juni 2023
  1. Was ist der __exit__()
  2. Wie der AttributeError: __exit__ auftritt
  3. So beheben Sie den AttributeError: __exit__ in Python
AttributeError: __Exit__ in Python

Beim Versuch, ein neues Programm in Python zu entwickeln, treten häufig Fehler auf. Der AttributeError ist einer der häufigsten Fehler in Python.

Dieser Fehler tritt auf, wenn eine Attributreferenz oder -zuweisung fehlschlägt.

Wenn Sie mit einem Python-Programm arbeiten, erhalten Sie manchmal eine Fehlermeldung wie die folgende.

Traceback (most recent call last):
  File "<string>", line 6, in <module>
AttributeError: __exit__

Dies ist ein Fehler bezüglich der Methode __exit__(). Dies ist eine Art AttributeError.

In diesem Artikel werden wir sehen, wie wir diesen Fehler AttributeError: __exit__ beheben können, und wir werden dieses Thema auch anhand relevanter Beispiele und Erklärungen diskutieren.

Was ist der __exit__()

Um diesen Fehler zu verstehen, müssen wir zuerst wissen, was der __exit__() ist und wie er funktioniert.

Der __exit__() ist eine Methode der ContextManager-Klasse. Es wird verwendet, um die durch den aktuellen Code belegten Ressourcen freizugeben.

Diese Methode enthält die Anweisungen zum Schließen der Eigenschaft des Ressourcenhandlers, damit die Ressource für die nächste Verwendung frei wird.

Sie müssen Typ, Wert und Rückverfolgung als Parameter für diese Methode angeben. Diese Parameter werden von der Methode verwendet, wenn eine Ausnahme auftritt.

Wenn eine Ausnahme oder ein Fehler auftritt, gibt die Methode __exit__() einen True-Wert zurück; andernfalls wird ein False zurückgegeben.

Wie der AttributeError: __exit__ auftritt

Wir müssen uns unseren Beispielcode ansehen, um zu verstehen, wie dieser Fehler auftritt. In dem unten geteilten Code haben wir die Methode __exit__() nicht innerhalb der Klasse AttributeError() erstellt.

Diese Klasse ist eine ContextManager-Klasse.

class AttributeError:
    def __enter__(self):
        return "This is __Enter__, if you remove this, it will generate an error."


Error = AttributeError()
with Error as Obj:
    print(Obj)

Wenn Sie nun versuchen, den obigen Beispielcode auszuführen, erhalten Sie beim Ausführen den folgenden Fehler.

Traceback (most recent call last):
  File "main.py", line 6, in <module>
    with Error as Obj:
AttributeError: __exit__

So beheben Sie den AttributeError: __exit__ in Python

Jetzt haben wir verstanden, wie der AttributeError: __exit__ auftritt. Jetzt müssen wir lernen, wie wir diesen Fehler beheben können.

Da wir bereits besprochen haben, dass die Methode __exit__() eine Methode der Klasse ContextManager ist, müssen wir __exit__() innerhalb der Klasse definieren, um diesen Fehler zu beheben. Jetzt sieht unsere feste Version des Codes wie folgt aus.

class AttributeError:
    def __enter__(self):
        return "This is __Enter__; if you remove this, it will generate an error."

    def __exit__(self, exc_type, exc_val, exc_tb):
        print("This is __Exit__; if you remove this, it will generate an error.")


Error = AttributeError()
with Error as Obj:
    print(Obj)

Wenn Sie nun den obigen Beispielcode ausführen, werden Sie sehen, dass der Code erfolgreich ausgeführt wurde, und Sie erhalten die folgende Ausgabe.

This is __Enter__; if you remove this, it will generate an error.
This is __Exit__; if you remove this, it will generate an error.

Bitte beachten Sie, dass die hier besprochenen Befehle und Programme in der Programmiersprache Python geschrieben sind.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Verwandter Artikel - Python Error

Verwandter Artikel - Python AttributeError