PEP308: Yet another syntax proposal

Raymond Hettinger vze4rx4y at verizon.net
Mon Feb 10 12:35:01 EST 2003


"Aahz" <aahz at pythoncraft.com>
> I still have yet to see a clear explanation of why short-circuit is
> necessary and therefore iif() unreasonable.

It is necessary when:
1. One of the alternatives has a side-effect; or
2. one or both alternatives are time consuming; or
3. the validity of the alternatives depends on the outcome
    of the test.

#  Example where all three reasons apply
data = isinstance(source, str)  ??   source.readlines()  ||  source.split()

1. readlines() moves the file pointer
2. for long sources, both alternatives take time
3. split() is only valid for strings and readlines() is only
    valid for file objects.


Raymond Hettinger








More information about the Python-list mailing list