[Python-Dev] The new and improved PEP 572, same great taste with 75% less complexity!
Mikhail V
mikhailwas at gmail.com
Thu Apr 26 21:33:43 EDT 2018
More information about the Python-Dev mailing list
Thu Apr 26 21:33:43 EDT 2018
- Previous message (by thread): [Python-Dev] The new and improved PEP 572, same great taste with 75% less complexity!
- Next message (by thread): [Python-Dev] The new and improved PEP 572, same great taste with 75% less complexity!
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, Apr 26, 2018 at 4:27 PM, Kirill Balunov <kirillbalunov at gmail.com> wrote: > > > 2018-04-24 18:31 GMT+03:00 Chris Angelico <rosuav at gmail.com>: >> >> >> > > Not sure, but if additional motivating examples are required, there is a > common pattern for dynamic attribute lookup (snippet from `copy.py`): > > reductor = dispatch_table.get(cls) > if reductor: > rv = reductor(x) > else: > reductor = getattr(x, "__reduce_ex__", None) > if reductor: > rv = reductor(4) > else: > reductor = getattr(x, "__reduce__", None) > if reductor: > rv = reductor() > else: > raise Error("un(shallow)copyable object of type %s" % cls) > > which can with the current `binding expression` syntax simplified to: > > if reductor := dispatch_table.get(cls): > rv = reductor(x) > elif reductor := getattr(x, "__reduce_ex__", None): > rv = reductor(4) > elif reductor := getattr(x, "__reduce__", None): > rv = reductor() > else: > raise Error("un(shallow)copyable object of type %s" % cls) > To me this looks more like a motivating example for adding GOTO statement to Python... Anybody writing a PEP? :) And should not the above be wrapped in a function? (a workaround in abscence of GOTO) Also, the ELIF is merely an edge case: once you have something like: if value : rv = f(x) else : temp = ... value = f1(temp) print (value) if value : rv = f2(x) ... then it does not wrap into anything anymore. Mikhail
- Previous message (by thread): [Python-Dev] The new and improved PEP 572, same great taste with 75% less complexity!
- Next message (by thread): [Python-Dev] The new and improved PEP 572, same great taste with 75% less complexity!
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list