[Python-Dev] Python 3000 PEP: Postfix type declarations (original) (raw)

Gustavo Carneiro gjcarneiro at gmail.com
Sun Apr 1 14:47:39 CEST 2007


On 4/1/07, Gustavo Carneiro <gjcarneiro at gmail.com> wrote:

On 4/1/07, Georg Brandl <g.brandl at gmx.net> wrote: [...] > Example > ======= > > This is the standard os.path.normpath function, converted to type > declaration > syntax:: > > def normpathƛ(path✎)✎: > """Normalize path, eliminating double slashes, etc.""" > if path✎ == '': > return '.' > initialslashes✓ = path✎.startswithƛ('/')✓ > # POSIX allows one or two initial slashes, but treats three or > more > # as single slash. > if (initialslashes✓ and > path✎.startswithƛ('//')✓ and not > path✎.startswithƛ('///')✓)✓: > initialslashesℕ = 2 > comps♨ = path✎.splitƛ('/')♨ > newcomps♨ = []♨ > for comp✎ in comps♨: > if comp✎ in ('', '.')⒯: > continue > if (comp✎ != '..' or (not initialslashesℕ and not > newcomps♨)✓ or > (newcomps♨ and newcomps♨[-1]✎ == '..')✓)✓: > newcomps♨.appendƛ(comp✎) > elif newcomps♨: > newcomps♨.popƛ()✎ > comps♨ = newcomps♨ > path✎ = '/'.join(comps♨)✎ > if initialslashesℕ: > path✎ = '/'*initialslashesℕ + path✎ > return path✎ or '.' > > As you can clearly see, the type declarations add expressiveness, while > at the > same time they make the code look much more professional.

Is this supposed to be a joke?

/me ashamed for not having noticed the date of this PEP... :P

-- Gustavo J. A. M. Carneiro "The universe is always one step beyond logic." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-dev/attachments/20070401/52f10a0c/attachment.html



More information about the Python-Dev mailing list