[PYTHON] Ich musste im Unterricht keinen Dekorateur schreiben. Danke Kontextmanager

Vorheriger Beitrag Yotsubato! Erstaunlich cool Ich wünschte, ich hätte von Anfang an "Kontextmanager" verwendet, ohne die Schwierigkeit zu dekorieren ...

yo.py


from contextlib import contextmanager
import random

class Prot:
    def __init__(self):
        pass

    @contextmanager
    def yoyo(self, hey):
        print('gacha.') #  __enter__
        yield hey # as
        print('Everything Done Right.') #  __exit__

    def yo_gacha(self, y):
        yo = [y*i for i in range(10)] 
        return yo[random.randint(0, 9)]    

if __name__ == '__main__':
    p = Prot()
    with p.yoyo('hey') as y:
        print(p.yo_gacha(y))

contextlib.contextmanager ist ein Dekorateur, der mit auf ein gutes Gefühl zutrifft und es in __enter__ und __exit__ mit rendit dazwischen unterteilt. Ein Einzug wird geopfert, aber die Beschreibung ist leicht und sehr leicht zu verstehen Es ist leicht zu verstehen, dass Sie es mit "als" erhalten können, wenn Sie es mit "Ertrag" bestehen. Es ist vielleicht besser, einen Dekorateur zu verwenden, wenn ich verschiedene Dinge einwickeln möchte, aber ich habe gelernt

Recommended Posts

Ich musste im Unterricht keinen Dekorateur schreiben. Danke Kontextmanager
Ich wollte den AWS-Schlüssel nicht in das Programm schreiben
Schreiben Sie Dekorateur in der Klasse
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Verwendung der Methode __call__ in der Python-Klasse
Ich habe eine Klasse erstellt, um das Analyseergebnis von MeCab in ndarray mit Python zu erhalten
Ich habe den Code geschrieben, um den Brainf * ck-Code in Python zu schreiben
Ich habe den Befehl gegeben, einen farbenfrohen Kalender im Terminal anzuzeigen
Schreiben Sie ein Skript in Shell und Python, um Sie in Slack zu benachrichtigen, wenn der Vorgang abgeschlossen ist
Schreiben Sie den Test in die Python-Dokumentzeichenfolge
Ich möchte die abstrakte Klasse (ABCmeta) von Python im Detail erklären
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Verschiedene Kommentare im Programm zu schreiben
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Ich habe versucht, den Höhenwert von DTM in einem Diagramm anzuzeigen
Geschichte der Synchronsprecher Scraping Wikipedia, um zu sehen, wie viele Jahre Sie zum Synchronsprecher der "Aikatsu!" - Serie wurden
Fühlen Sie sich frei, einen Test mit der Nase zu schreiben (im Fall von + gevent)
Ich habe versucht, eine Klasse zu erstellen, mit der Json in Python problemlos serialisiert werden kann
[Python] Erstellt eine Klasse, um mit pyaudio Sinuswellen im Hintergrund zu spielen
Wenn Sie View decorator in urls.py in Django schreiben, ist die Liste höher.
Überprüfen Sie mit einem Test, wie oft die Abfrage (SQL) in Django ausgelöst wurde
Ich habe einen Appdo-Befehl erstellt, um Befehle im Kontext der App auszuführen
Ich möchte einen Lebenszyklus in der Aufgabendefinition von ECS festlegen
Ich möchte eine Liste der WebDAV-Dateien im Modul Anfragen anzeigen
Ich suchte nach den Fähigkeiten, die erforderlich sind, um Webingenieur bei Python zu werden
Ich möchte mit Python ein Fenster erstellen
Ich habe eine Klasse in Python3 und Java geschrieben
Tipps zum Schreiben werden in Python kurz abgeflacht
Warum muss Python einen Doppelpunkt schreiben?
Wie schreibe ich ein benanntes Tupeldokument im Jahr 2020?
Ich möchte mit Python in eine Datei schreiben
Ich möchte den Fortschritt in Python anzeigen!
Ich habe ein wenig über die Klasse recherchiert
Wenn Sie eine Methode in einer Ruby-Klasse definieren und dann eine Methode darin definieren, wird sie zu einer Methode der ursprünglichen Klasse.
Ich kann die Uhrenquelle tsc nicht finden! ?? Die Geschichte des Versuchs, einen Kernel-Patch zu schreiben
Ich habe versucht, eine Klasse für die Suche nach Dateien mit der Glob-Methode von Python in VBA zu erstellen
Ich möchte in Python schreiben! (1) Überprüfung des Codeformats
Ich habe versucht, die in Python installierten Pakete grafisch darzustellen
Ich möchte eine Variable in einen Python-String einbetten
Ich möchte Timeout einfach in Python implementieren
So schreiben Sie eine GUI mit dem Befehl maya
Ich möchte mit einem Knopf am Kolben übergehen
Ich habe ein Skript erstellt, um ein Snippet in README.md einzufügen
Ich habe versucht, einen Pseudo-Pachislot in Python zu implementieren
Ich möchte eine Datei mit Python zufällig testen
Ich möchte mit einem Roboter in Python arbeiten.
Schreiben Sie in Python ein logarithmisches Histogramm auf die x-Achse
Ich habe einen Befehl zum Markieren des Tabellenclips gegeben
Wenn Sie in der for-Anweisung plt.save möchten
Übergeben Sie sich in der Klasse nicht an ProcessPoolExecutor
Ich möchte R-Datensatz mit Python verwenden
Ich habe dir geschrieben, dass du das Signal mit Go sehen sollst
Notieren Sie sich, was Sie in Zukunft mit Razpai machen möchten
[Kleine Geschichte] Eine sorgfältige Maßnahme, wenn Sie vor dem Import in Python eine Funktion ausführen müssen
Ich habe 10 Bücher gelesen, die sich auf Zeitreihendaten beziehen, daher werde ich eine Rezension schreiben.
Ich möchte die Grafik in 3D sehen! Ich kann einen solchen Traum wahr werden lassen.