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


Groups > comp.lang.python > #32596

Re: Organisation of python classes and their methods

From Peter Otten <__peter__@web.de>
Subject Re: Organisation of python classes and their methods
Date 2012-11-02 09:00 +0100
Organization None
References <B16BD7AC-F860-4A30-A08D-A0235CC25F20@mac.com>
Newsgroups comp.lang.python
Message-ID <mailman.3179.1351843247.27098.python-list@python.org> (permalink)

Show all headers | View raw


Martin Hewitson wrote:

> Dear list,
> 
> I'm relatively new to Python and have googled and googled but haven't
> found a reasonable answer to this question, so I thought I'd ask it here.
> 
> I'm beginning a large Python project which contains many packages, modules
> and classes. The organisation of those is clear to me.
> 
> Now, the classes can contain many methods (100s of data analysis methods)
> which operate on instances of the class they belong to. These methods can
> be long and complex. So if I put these methods all in the module file
> inside the class, the file will get insanely long. Reading on google, the
> answer is usually "refactor", but that really doesn't make sense here.
> It's just that the methods are many, and each method can be a long piece
> of code. So, is there a way to put these methods in their own files and
> have them 'included' in the class somehow? I read a little about mixins
> but all the solutions looked very hacky. Is there an official python way
> to do this? I don't like having source files with 100's of lines of code
> in, let alone 1000's.

You googled, found the right answer ("refactor"), didn't like it and are now 
looking to cure the symptoms of the original problem?
Seriously, a good editor can deal with a long source file, but a class with 
hundreds of methods will bring trouble to any old brain.

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


Thread

Re: Organisation of python classes and their methods Peter Otten <__peter__@web.de> - 2012-11-02 09:00 +0100

csiph-web