pythonadvanced

Context Manager Custom

Advanced Python pattern: context-manager-custom

python
from contextlib import contextmanager
from time import perf_counter

@contextmanager
def timed(label: str):
    start = perf_counter()
    try:
        yield
    finally:
        print(label, round(perf_counter() - start, 4), 's')

with timed('work'):
    total = sum(i*i for i in range(100000))
print(total > 0)

Use Cases

  • advanced programming
  • patterns

Tags

Related Snippets

Similar patterns you can reuse in the same workflow.