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