On Apr 4, 11:38 pm, "Klaas" <[EMAIL PROTECTED]> wrote: > On Apr 4, 2:52 pm, Thomas Krüger <[EMAIL PROTECTED]> wrote: > > > > > At first: if he really like it he can place every class in a single > > file. But there are some reasons why Python "allows" you to place many > > classes in one file: > > > - It's (a little bit) faster, no additional file system lookup is needed. ;) > > - You can define a class in a class. Django, for example, uses this for > > it's data models. If you do this you are forced to have multiple classes > > in on file. > > Example:http://www.djangoproject.com/documentation/tutorial02/#make-the-poll-... > > That is somewhat specious: inner classes can be defined in java too. > > The main reason is that in java, classes are magical entities which > correspond to one "exportable" unit of code. Thus it makes a great > deal of sense to limit to one _public_ class per file (java also > allows unlimited private and package-private classes defined in a > single file). > > If you want to define a bunch of utility functions in java, you write > a file containing a single class with static methods. > > In python, classes do not have special status. The exportable unit of > code is a module, which, like public classes in java, can contain > functions, static variables, and classes. Similar to java, you are > limited to a single module object per file (modulo extreme trickery). > > If you want to define a bunch of utility functions in python, you > write a file containing a single module with functions. >
So Python has one less level of enforced nesting. :-) Fuzzyman http://www.voidspace.org.uk/python/articles.shtml > -Mike -- http://mail.python.org/mailman/listinfo/python-list