On 03/02/2018 09:34 AM, David Mertz wrote:
So right now, I can do these:class bind(object): def __init__(self, *args): self.args = args def __enter__(self): return self.args[0] if len(self.args)==1 else self.args def __exit__(self, *args): pass >>> with bind(sqrt(2)) as _a: ... print(_a) 1.4142135623730951 >>> with bind(sqrt(2), log(2)) as (a, b): ... print(a, b, a+b) 1.4142135623730951 0.6931471805599453 2.1073607429330403 This would cover 98% of the cases that I would want with the proposed statement-local name bindings.
Cool! But what's the advantage over simple assignment? -- ~Ethan~ _______________________________________________ Python-ideas mailing list [email protected] https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/
