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