A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2003-December/041087.html below:

[Python-Dev] Re: Python-Dev Digest, Vol 5, Issue 57

[Python-Dev] Re: Python-Dev Digest, Vol 5, Issue 57Guido van Rossum guido at python.org
Tue Dec 16 17:07:56 EST 2003
[Ed]
> What's the motivation for restricting it to from-imports?  I suspect 
> that this will cause confusion, and it doesn't feel self-consistent to 
> me: why can you call a module ".foo" in one context, and not in 
> another?  In particular, I think that if people see that you can do:
> 
>      from .foo import *
> 
> Then they'll assume that they can also do:
> 
>      import .foo
> 
> With the obvious semantics, i.e. equivalence to:
> 
>      from . import foo
> 
> What do we gain by not extending the syntax to from-less imports?

Currently, the rule is that after

  import <something>

you can use

  <something>

in an expression to refer to whatever you imported.  This applies to
both

  import foo          <-->  foo      in expressions

and

  import foo.bar      <-->  foo.bar  in expressions

But if we were to allow

  import .foo

we'd have to allow

  .foo

in expressions, and I would like to reserve that syntax for the "with"
statement.

[Werner]
> But it would be possible to say:
> 
> import .foo as my_foo
> import foo
> 
> and access both through modules through the name they're bound to.
> 
> Therefore I'd propose to allow relative from-less imports, but require
> them to always use the "as" clause.

This just adds more complexity; there's nothing you can do without
this addition.

[Jack]
> Is "from . import *" allowed? Whenever I start to think about it I
> tend to go into oscillation (yes because within package foo its the same
> as "from foo import *" on the outside; no because "import *" isn't
> allowed today either).

Yes, "from . import <whatever>" has the exact same meaning as spelling
out the corresponding absolute module path after "from".

--Guido van Rossum (home page: http://www.python.org/~guido/)

More information about the Python-Dev mailing list

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