On Sat, May 12, 2018 at 5:54 PM Cameron Simpson <c...@cskk.id.au> wrote:
> On 06May2018 02:00, Nick Coghlan <ncogh...@gmail.com> wrote: > >On 5 May 2018 at 13:36, Tim Peters <tim.pet...@gmail.com> wrote: > >> If only one trailing "given" clause can be given per `if` test > >> expression, presumably I couldn't do that without trickery. > > > >I was actually thinking that if we did want to allow multiple assignments, > >and we limited targets to single names, we could just use a comma as a > >separator: > > > > if diff and g > 1 given diff = x - x_base, g = gcd(diff, n): > > return g > > > >Similar to import statements, optional parentheses could be included in > the > >grammar, allowing the name bindings to be split across multiple lines: > > > > if diff and g > 1 given ( > > diff = x - x_base, > > g = gcd(diff, n), > > ): > > return g > > I'm well behind, but... this! This turns "given" into a +0.8 for me. > > That's really nice. It reads clearly too. > > I was hitherto in the "expression as name" camp, which I gather is already > rejected. > I love given, but that's the one thing I don't like. I prefer this: if (diff and g > 1 given diff = x - x_base given g = gcd(diff, n)): return g —just like for and if subexpressions. Doing this can also open up weirdness if someone tries to roll something like: a = f(), # Make a tuple of length 1 into a given statement. Now, where do you up the parentheses? given ( a = (f(),), b = whatever? ) Seems weird. > Cheers, > Cameron Simpson <c...@cskk.id.au> > _______________________________________________ > Python-ideas mailing list > Python-ideas@python.org > https://mail.python.org/mailman/listinfo/python-ideas > Code of Conduct: http://python.org/psf/codeofconduct/ > > -- > > --- > You received this message because you are subscribed to a topic in the > Google Groups "python-ideas" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/python-ideas/CFuqwmE8s-E/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > python-ideas+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. >
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/