On Tue, Sep 5, 2017 at 10:43 AM, Pavol Lisy <pavol.l...@gmail.com> wrote:
> On 9/4/17, Koos Zevenhoven <k7ho...@gmail.com> wrote: > [...] > > > with cvar.assign(new_value): > > assert cvar.value is new_value > > # Any code here, or down the call chain from here, sees: > > # cvar.value is new_value > > # unless another value has been assigned in a > > # nested context > > assert cvar.value is new_value > > # the assignment of ``cvar`` to ``new_value`` is no longer visible > > assert cvar.value == "the default value" > > I feel that of "is" and "==" in assert statements in this PEP has to > be used (or described) more precisely. > The use is quite precise as it is now. I can't use `is` for the string values, because the result would depend on whether Python gives you the same str instance as before, or a new one with the same content. Maybe I'll get rid of literal string values in the description, since it seems to only cause distraction. > > What if new_value above is 123456789? > Any value is fine. > > maybe using something like could be better? -> > > def equals(a, b): > return a is b or a == b > > Doesn't PEP need to think about something like "context level overflow" ? > > Or members like: cvar.level ? > I don't see any need for this at this point, or possibly ever. ––Koos -- + Koos Zevenhoven + http://twitter.com/k7hoven +
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/