On Mon, Aug 09, 2004, Guido van Rossum wrote: >Dima Dorfman: >> >> Are the exact semantics of what's allowed documented somewhere? > > Not unless it's in the PEP -- it usually takes a stab at implementing > something to find what's left unspecified! Yup! >> PEP 328 mostly talks about relative and absolute >> imports, and it doesn't specify the exact semantics of where >> parentheses should be allowed. My patch (attached) accepts >> >> import (os, sys) >> from sys import (stdin, stdout, stderr) >> import (os) >> from sys import (*) >> >> but rejects >> >> from (sys) import stdin >> import (os), (sys) >> import (os,) >> >> Should any of those be allowed? Anything that I missed? > > This suggests (given the recent criticism of how we've been following > the PEP process) that the PEP needs to be updated first. Enh; as you say, implementation is often needed to clarify, and I don't think anyone would dispute that this is a small portion of the PEP. > My own gut feeling is that it's not important to allow parentheses on > "bare" (from-less) imports, since you can easily repeat the 'import' > keyword on a new line; but that it is important on the from...import > form, and then only after the "import" keyword. So that would accept > your 2nd and 4th example but reject the 1st and 3rd. > > I guess one can argue about (*); I don't care about it and suggest > that it be dropped. I'd suggest that only ``from foo import (...)`` be permitted (where "..." does not include ``*``). But I don't care much, and I'll update the PEP as soon as it's clear which precise versions are allowed. -- Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/ "To me vi is Zen. To use vi is to practice zen. Every command is a koan. Profound to the user, unintelligible to the uninitiated. You discover truth everytime you use it." --reddy at lion.austin.ibm.com
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4