On Sun, Aug 20, 2000 at 11:37:46PM -0500, Guido van Rossum wrote: > > > Summary: Allow all assignment expressions after 'import something as' > -1. Hypergeneralization. I don't think it's hypergeneralization. In fact, people might expect it[*], if we claim that the 'import-as' syntax is a shortcut for the current practice of import somemod sspam = somemod.somesubmod.spam (or similar constructs.) However, I realize you're under a lot of pressure to Pronounce a number of things now that you're back, and we can always change this later (if you change your mind.) I dare to predict, though, that we'll see questions about why this isn't generalized, on c.l.py. (*] I know 'people might expect it' and 'hypergeneralization' aren't mutually exclusive, but you know what I mean.) > By the way, notice that > import foo.bar > places 'foo' in the current namespace, after ensuring that 'foo.bar' > is defined. Oh, I noticed ;) We had a small thread about that, this weekend. The subject was something like ''import as'' or so. > What should > import foo.bar as spam > assign to spam? I hope foo.bar, not foo. The original patch assigned foo to spam, not foo.bar. Why ? Well, all the patch did was use a different name for the STORE operation that follows an IMPORT_NAME. To elaborate, 'import foo.bar' does this: IMPORT_NAME "foo.bar" <resulting object, 'foo', is pushed on the stack> STORE_NAME "foo" and all the patch did was replace the "foo" in STORE_NAME with the name given in the "as" clause. > I note that the CVS version doesn't support this latter syntax at all; > it should be fixed, even though the same effect can be has with > from foo import bar as spam Well, "general consensus" (where the general was a three-headed beast, see the thread I mentioned) prompted me to make it illegal for now. At least noone is going to rely on it just yet ;) Making it work as you suggest requires a separate approach, though. I'll think about how to do it best. -- Thomas Wouters <thomas@xs4all.net> Hi! I'm a .signature virus! copy me into your .signature file to help me spread!
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