Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #96325

Re: Question about import

From "Frank Millman" <frank@chagford.com>
Subject Re: Question about import
Date 2015-09-11 08:40 +0200
References <msrah1$sju$1@ger.gmane.org> <CALwzidm3khNaGTt0OhVEo5bhqk1tFEjBUUUinW9TNUxrpnr8cw@mail.gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.357.1441953656.8327.python-list@python.org> (permalink)

Show all headers | View raw


"Ian Kelly"  wrote in message 
news:CALwzidm3khNaGTt0OhVEo5bhqk1tFEjBUUUinW9TNUxrpnr8cw@mail.gmail.com...

On Thu, Sep 10, 2015 at 1:12 AM, Frank Millman <frank@chagford.com> wrote:
> > That makes me wonder if, in my project, I can import all modules inside
> > 'start.py', and then just use 'import package_name' inside each module?
>
> You can, but for readability and reuse I think it's better to be
> explicit in each module and import the fully qualified module names
> that are needed, rather than relying on some other module to import
> them for you.

I don't disagree. However, I started this exercise because I found a 
situation in one of my modules where I was referring to another module 
without ever importing it, and it worked! It took me quite a while to track 
down what was happening. So there could be a case for being explicit in the 
other direction - import all modules up front, and explicitly state that all 
modules are now free to reference anything in any other module. I will give 
it more thought.

> > Another question - I thought that, because aa.py and bb.py are in 
> > different
> > sub-directories, I would have to set them up as packages by adding
> > '__init__.py' to each one, but it works fine without that. What am I
> > missing?

> That surprises me also, but I suspect it's because they're
> subdirectories of the current working directory rather than packages
> found on the sys.path.

I had a look at PEP 420, as mentioned by Peter. I did not understand much of 
it, but it did say that omitting __init__.py incurs an additional overhead, 
so I will stick with including it.

Many thanks for the useful input.

Frank

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: Question about import "Frank Millman" <frank@chagford.com> - 2015-09-11 08:40 +0200

csiph-web