On Feb 11, 9:57 am, "christian.posta" <christian.po...@gmail.com> wrote: > On Feb 11, 9:10 am, Robert Kern <robert.k...@gmail.com> wrote: > > > > > On 2/11/11 9:06 AM, christian.posta wrote: > > > > I searched quickly to see whether this may have been discussed before, > > > but it's possible my search criteria was not refined enough to get any > > > hits. Forgive me if this is a silly question.. > > > > I was reading some Python code from a third-party app for the django > > > project... i saw this in the code and I wasn't certain what it means, > > > nor could I find anything helpful from google. > > > > Within the __call__ function for a class, I saw a method of that class > > > referred to like this: > > > > *self.<method_name_here>() > > > > The brackets indicate the method name. > > > What does the *self refer to?? > > > Does it somehow indicate the scope of the 'self' variable? > > > Can you show the whole statement? Most likely, this was embedded in some > > other > > call, e.g.: > > > foo(*self.method()) > > > If this is the case, the * does not bind to "self"; it binds to all of > > (self.method()), i.e.: > > > foo(*(self.method())) > > > This is just the foo(*args) syntax that unpacks a tuple into individual > > arguments to pass to foo(). > > >http://docs.python.org/tutorial/controlflow.html#unpacking-argument-l... > > > -- > > Robert Kern > > > "I have come to believe that the whole world is an enigma, a harmless enigma > > that is made terrible by our own mad attempt to interpret it as though it > > had > > an underlying truth." > > -- Umberto Eco > > Yep, you are correct! > It is indeed part of a larger statement. Sorry for the confusion. > > Here is the entire snippet: > > def get_urls(self): > # In Django 1.1 and later you can hook this in to your urlconf > from django.conf.urls.defaults import patterns > return patterns('', *self.get_urlpatterns())
Thank you both Ian and Robert. It now makes perfect sense! Thanks!! -- http://mail.python.org/mailman/listinfo/python-list