Re: [Tutor] Import vs #include

2009-09-18 Thread Warren Marshall


Excellent, OK, this is becoming clearer ...

So if I wanted a common library of code that several Python apps would  
be using, best practices would say I should put that into a directory  
that the projects can see and import it as a package.module.  Cool...


- Warren
(epic...@gmail.com)



On Sep 18, 2009, at 3:25 PM, Kent Johnson wrote:

On Fri, Sep 18, 2009 at 2:14 PM, Warren Marshall   
wrote:


I'm trying to get my head around the organization of a larger Python
project.

1. Am I right in thinking that in Python, you don't have the  
concept of
something like a precompiled header and that every file that wants  
to use,

say "vector.py" needs to import that module?


Yes.

2. How are Python projects typically organized  in terms of having  
many
files.  Are sub-directories for different kinds of files (rendering  
files go
here, file management files go here, etc), or does that not play  
nicely with

the import command?


It's fine. The directories are called packages and must contain a
(possibly empty) file named __init__.py. Then you can do things like
 from package.module import SomeClass

See the std lib for examples, for example the email and logging  
packages.


3. As you can tell, I've done a lot of C/C++/C# and I'm trying to  
shake
loose the analog that I've built up in my head that import is  
Python's

answer to #include.  It isn't, is it?


Not really, it is more like a using declaration in C# except it
doesn't bring the contents of the module into scope, just the module
itself.
 using System; // C#
is like
 from sys import * # Python

though the latter form is discouraged in favor of just
 import sys
or importing the specific items you need:
 from sys import modules

Kent
___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor


[Tutor] Import vs #include

2009-09-18 Thread Warren Marshall


I'm trying to get my head around the organization of a larger Python  
project.


1. Am I right in thinking that in Python, you don't have the concept  
of something like a precompiled header and that every file that wants  
to use, say "vector.py" needs to import that module?


2. How are Python projects typically organized  in terms of having  
many files.  Are sub-directories for different kinds of files  
(rendering files go here, file management files go here, etc), or does  
that not play nicely with the import command?


3. As you can tell, I've done a lot of C/C++/C# and I'm trying to  
shake loose the analog that I've built up in my head that import is  
Python's answer to #include.  It isn't, is it?


- Warren
(epic...@gmail.com)



___
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor