[PYTHON] Verhalten bei der Rückkehr in den with-Block

Bestätigung, die nicht interessant ist.

Ich war besorgt, ob der Beendigungsprozess des Kontextmanagers ordnungsgemäß aufgerufen werden würde, wenn er in den Block der with-Anweisung zurückkehrt.

Zusammenfassend ist es okay.

withreturn.py


class Some(object):
    def add(self, x, y): 
        return x + y 

    def close(self):
        print "Closed"


from contextlib import closing
def foo(x):
    with closing(Some()) as some:
        return some.add(x, 10) 


print foo(16)
# Closed
#=> 26

Der Beendigungsprozess wird auf diese Weise aufgerufen.

Recommended Posts

Verhalten bei der Rückkehr in den with-Block
Wenn der Variablenname mit dem Devaga-Befehl in pdb in Konflikt steht
Verhalten beim Angeben einer Liste mit shell = True im Unterprozess
Verhalten in jeder Sprache, wenn Collouts mit for wiederverwendet werden
Überprüfen Sie das Verhalten beim Zuweisen von Python
Verhalten beim Auflisten in Python heapq
Wenn der Knoten in rqt_graph verschwindet
Überprüfen Sie das Verhalten des Zerstörers in Python
Zeigen Sie Python 3 im Browser mit MAMP an
Wenn das Ziel Ubuntu 16.04 in Ansible ist
Wenn das vorherige Diagramm in Seaborn verbleibt
Melden Sie sich mit SSH bei einem Remote-Server an
[Python] Holen Sie sich die Dateien mit Python in den Ordner
[Automatisierung] Extrahieren Sie die Tabelle als PDF mit Python
Vorsichtsmaßnahmen beim Umgang mit Kontrollstrukturen in Python 2.6
Was ich getan habe, als ich mit Lambda Python im Zeitlimit steckte
Bestimmen Sie die Zahlen in dem mit der Webkamera aufgenommenen Bild
Erkennen Sie Ordner mit demselben Bild in ImageHash
Vorsichtsmaßnahmen bei der Installation von Paketen in der Conda-Umgebung
So zeigen Sie im gesamten Fenster an, wenn Sie das Hintergrundbild mit tkinter einstellen
Unterschiede im Verhalten jeder LL-Sprache, wenn der Listenindex übersprungen wird
Zeichenkodierung beim Umgang mit Dateien in Python 3
Verhalten bei Container Trainable = False in Keras
[Für Anfänger] Unerwartetes Verhalten, wenn beim Festlegen des Pfads in Python "\" enthalten ist
Wenn sich Achse und Beschriftung in matplotlib überlappen
Visualisieren Sie das Verhalten des Sortieralgorithmus mit matplotlib
Verhalten beim Speichern eines Python-Datetime-Objekts in MongoDB
Die Geschichte, die zur Installation von Pip passt
Es wurde TLE, als ich den Vorgang mit der Druckfunktion im Competition Pro bestätigte
Ein Hinweis beim Überprüfen, ob der angegebene Schlüssel im definierten Wörterbuch mit Python vorhanden ist
Was ich getan habe, als ich wütend war, es mit der Option enable-shared einzufügen
So ändern Sie das Verhalten beim Laden / Dumping von Yaml mit PyYAML und seinen Details
Das Problem, dass das Bild beim Laden mit PandasTools.LoadSDF nicht in ROMol angezeigt wurde, wurde behoben.
Wenn eine lokale Variable mit demselben Namen wie die globale Variable in der Funktion definiert ist
Wenn das ausgewählte Objekt in bpy.context.selected_objects nicht zurückgegeben wird
Ändern Sie die Zeitzone in Oracle Database Docker
Ergänzen Sie die Bibliothek in Anakonda mit jedi-vim
Grundeinstellungen bei Verwendung der foursquare-API mit Python
[Python] Holen Sie sich die Zahlen im Diagramm mit OCR
Vorsichtsmaßnahmen beim Umgang mit ROS MultiArray in Python
Crawlen Sie die im Twitter-Tweet enthaltene URL mit Python
Mailbox-Auswahl beim Abrufen von Google Mail mit imaplib von Python
Konvertieren Sie das Bild in .zip mit Python in PDF
Mit Python psycopg2 erhalten Sie Ergebnisse im Diktatformat
Zugriff mit dem Cache beim Lesen von_json mit Pandas
Lesen Sie die Linkliste im CSV-Format mit dem Graph-Tool
Schreiben Sie mit OpenCV-Python Zeichen in die Kartenillustration
Einbetten in datetime, wenn nur die Zeit bekannt ist
Laden Sie das gleichnamige Modul an einer anderen Stelle
Überprüfen Sie, wann die Version nicht in pyenv wechselt
Japanische Ausgabe beim Umgang mit Python im Visual Studio
Teilnahme an der ersten ISUCON mit dem Team "Ranchu" # ISUCON10 Qualifying
Der Wert von meta beim Angeben einer Funktion ohne Rückgabewert mit Dask dataframe gilt