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. -Mike -- http://mail.python.org/mailman/listinfo/python-list