Heim >Backend-Entwicklung >Python-Tutorial >Sollten Sie in Ihrem Python-Code „um Vergebung und nicht um Erlaubnis bitten'?

Sollten Sie in Ihrem Python-Code „um Vergebung und nicht um Erlaubnis bitten'?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-10 11:07:16807Durchsuche

Should You

Die Philosophie hinter „Bitte um Vergebung, nicht um Erlaubnis“

Der Ausdruck „bitte um Vergebung, nicht um Erlaubnis“ wird beim Codieren oft verwendet, um eine Programmierung zu beschreiben Stil, der die Ausführung von Vorgängen priorisiert, anstatt vorher auf Berechtigungen zu prüfen.

Im Pythonic-Code schlägt dieses Prinzip vor, dass statt zu verwenden Wenn Sie bedingte Anweisungen verwenden, um das Vorhandensein von Attributen oder die Gültigkeit von Vorgängen zu überprüfen, ist es effizienter, den Vorgang zu versuchen und alle daraus resultierenden Ausnahmen zu behandeln.

Beispielszenario und der „Ask Forgiveness“-Ansatz

Stellen Sie sich eine Klasse mit einer optionalen Attributleiste vor. Bei der traditionellen Programmierung könnte man prüfen, ob das Attribut existiert, bevor man es verwendet:

if foo.bar:
    # Do stuff

Der Ansatz „um Verzeihung bitten“ empfiehlt jedoch:

try:
    foo.bar  # Attempt to access the attribute
    # Do stuff    
except AttributeError:
    # Handle the error if the attribute doesn't exist

Argumente für „Ask Vergebung"

  • Parallelität: In In Multithread-Umgebungen oder beim Umgang mit externen Ressourcen kann sich der Zustand des Systems zwischen der Berechtigungsprüfung und dem Vorgang ändern.
  • Präzision: Das Definieren spezifischer Berechtigungsprüfungen kann schwierig sein und zu Fehlalarmen führen oder falsch-negative Ergebnisse.

Ausnahmen für optionale Attribute

In Bei optionalen Attributen besteht der akzeptierte Python-Ansatz darin, das Attribut auf „Keine“ zu initialisieren und seine Existenz explizit zu überprüfen:

if foo.bar is not None:
    # Handle the optional part
else:
    # Default handling

Dadurch wird sichergestellt, dass der Code klar ist und die Absicht, optionale Attribute zu verarbeiten, klar ist.

Das obige ist der detaillierte Inhalt vonSollten Sie in Ihrem Python-Code „um Vergebung und nicht um Erlaubnis bitten'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn