Dom Grigonis writes:
> Simply eval/exec string inputs. I sometimes use of these for ad-hoc
> callbacks. Would be great if `v` was recognised as a code.
Looking at the example, do you mean '=' here? That is, you want to
add semantics for prefixed '=', meaning "just insert the expression
string here"?
> Code is similar to this: class A:
> def __init__(self):
> self.d = {'a': 1, 'b': 2}
>
> def apply(self, smtp):
> for k, v in self.d.items():
> if callable(smtp):
> self.d[k] = smtp(v)
> elif isinstance(smtp, str):
> self.d[k] = eval(f'{=v}{smtp}')
Since f'{=v}' just results in 'v', why isn't
self.d[k] = eval(f'v{smtp}')
fine? Sure, you get the compiler check/refactoring benefit, but as
you admit, this is a very "ad hack" use case. I don't think we should
encourage it in production code.
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/PEVTGJOPRWP5SLBLK4UZHISD3EGTRR7K/
Code of Conduct: http://python.org/psf/codeofconduct/