More __init__ methods
Mr.SpOOn
mr.spoon21 at gmail.com
Thu Nov 6 13:58:05 EST 2008
On Thu, Nov 6, 2008 at 7:44 PM, Tim Golden <mail at timgolden.me.uk> wrote:
> While that's no bad thing, you don't really need to do
> that simply to understand these examples: they're just
> saying "do whatever you need to to make these method
> class methods, not instance methods".
Yes.
I think this changes the design of my class.
I mean, till now I had something like:
class foo:
def __init__(self, string=None, integer=None, someinstance=None):
self.a = 0
self.b = 0
if string:
# do something to calculate "a and b"
elif integer:
# do something else to calculate "a and b"
...
...
So I used different methods to calculate the same variables.
Now I must pass a and b to the main constructor and calculate them in
the classmethods.
class foo:
def __init__(self, a, b):
self.a = a
self.b = b
@classmethod
def from_string(self, ..):
...
...
What I mean is: I can't use anymore __init__ as the default
constructor, but I always have to specify the way I'm creating my
object. Am I right? I'm asking just to be sure I have understood.
More information about the Python-list
mailing list