Vorheriger Beitrag
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