On 03/25/2018 11:57 AM, D'Arcy Cain wrote:

Something like this:

class C1(object):
...
class C2(object):
     def __init__(self, parent=None):
         self.parent = parent
Perhaps your email client is collapsing leading spaces but that isn't
what I wrote.  The C2 class is supposed to be a member of C1.  That's
why I called it as O1.C2() instead of just C2().  I was hoping that by
doing so that the data in O1 would somehow be available without having
to explicitly pass it as an argument.

It's not my mail client, this was my proposed code in which C2 is defined *outside* of C1, then you inject one or the other (can't decide for you as it depends on what you're trying to do).
In other words, it's not an indentation error.

However, I would have made the parameter required.  I don't see the
point of calling another method to add it in later.  Of course, if I do
that there's no point in making C2 part of C1.  What you wrote would be
just fine and obvious.


I tend to use keyword arguments a lot because it gives me a lot of freedom. Just a perk: I can do things like change the API and I'd only have to catch the call, issue a deprecation warning, and then use the new API instead of having the code be rigid.

--
~ Jugurtha Hadjar,

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to