[Python-Dev] an alternative to embedding policy in PEP 418 (was: PEP 418: Add monotonic clock)

Ethan Furman ethan at stoneleaf.us
Wed Apr 4 20:03:02 CEST 2012


Oleg Broytman wrote:
> On Wed, Apr 04, 2012 at 05:47:16PM +0200, Lennart Regebro wrote:
>> On Tue, Apr 3, 2012 at 18:07, Ethan Furman <ethan at stoneleaf.us> wrote:
>>> What's unclear about returning None if no clocks match?
>> Nothing, but having to check error values on return functions are not
>> what you typically do in Python. Usually, Python functions that fail
>> raise an error.
> 
>    Absolutely. "Errors should never pass silently."

Again, what's the /intent/?  No matching clocks does not have to be an 
error.


>> Please don't force Python users to write pseudo-C code in Python.
> 
>    +1. Pythonic equivalent of "get_clock(THIS) or get_clok(THAT)" is
> 
> for flag in (THIS, THAT):
>     try:
>         clock = get_clock(flag)
>     except:
>         pass
>     else:
>         break
> else:
>     raise ValueError('Cannot get clock, tried THIS and THAT')


Wow -- you'd rather write nine lines of code instead of three?

clock = get_clock(THIS) or get_clock(THAT)
if clock is None:
     raise ValueError('Cannot get clock, tried THIS and THAT')

~Ethan~


More information about the Python-Dev mailing list