Re: Is this a bug?

Discussion in 'Python' started by Jack Bates, Jul 16, 2013.

  1. Jack Bates

    Jack Bates Guest

    On 15/07/13 09:13 AM, Joshua Landau wrote:
    > On 15 July 2013 16:50, Jack Bates <> wrote:
    >> Hello,
    >>
    >> Is the following code supposed to be an UnboundLocalError?
    >> Currently it assigns the value 'bar' to the attribute baz.foo
    >>
    >> foo = 'bar'
    >> class baz:
    >> foo = foo

    >
    > If so, then no. Assignments inside class bodies are special-cased in
    > Python. This is because all assignments refer to properties of "self"
    > on the LHS but external things too on the RHS. This is why you can do
    > "def x(): ..." instead of "def self.x(): ..." or some other weird
    > thing. There's also some extra special stuff that goes on.
    >
    > In order to make this an UnboundLocalError, lots of dramatic and
    > unhelpful changes would have to take place, hence the current
    > behaviour. The current behaviour is useful, too.


    Ah, thank you Chris Angelico for explaining how this is like what
    happens with default arguments to a function and Joshua Landau for
    pointing out how assignments inside class bodies refer to properties of
    "self" on the LHS. It makes sense now. Only I'm struggling to find where
    the behavior is defined in the language reference. Can someone please
    help point me to where in the language reference this is discussed? I've
    been hunting through the section on naming and binding:


    http://docs.python.org/3/reference/executionmodel.html#naming-and-binding
    Jack Bates, Jul 16, 2013
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. John

    Re: BUG? OR NOT A BUG?

    John, Sep 20, 2005, in forum: ASP .Net
    Replies:
    2
    Views:
    549
  2. RedEye
    Replies:
    2
    Views:
    582
    Jason Kester
    Dec 13, 2005
  3. Michel Joly de Lotbiniere

    Bug Parade Bug 4953793

    Michel Joly de Lotbiniere, Nov 30, 2003, in forum: Java
    Replies:
    4
    Views:
    642
    Michel
    Dec 2, 2003
  4. DarkSpy
    Replies:
    4
    Views:
    884
    tom_usenet
    Jun 27, 2003
  5. Steve Holden
    Replies:
    1
    Views:
    394
    Behrang Dadsetan
    Jul 2, 2003
Loading...

Share This Page