I came across the Python with
statement for the first time today. I\'ve been using Python lightly for several months and didn\'t even know of its existence! G
Again for completeness I'll add my most useful use-case for with
statements.
I do a lot of scientific computing and for some activities I need the Decimal
library for arbitrary precision calculations. Some part of my code I need high precision and for most other parts I need less precision.
I set my default precision to a low number and then use with
to get a more precise answer for some sections:
from decimal import localcontext
with localcontext() as ctx:
ctx.prec = 42 # Perform a high precision calculation
s = calculate_something()
s = +s # Round the final result back to the default precision
I use this a lot with the Hypergeometric Test which requires the division of large numbers resulting form factorials. When you do genomic scale calculations you have to be careful of round-off and overflow errors.