On Fri, Aug 24, 2012 at 9:54 AM, Dennis Lee Bieber <wlfr...@ix.netcom.com> wrote: > On Fri, 24 Aug 2012 08:00:59 +1000, Chris Angelico <ros...@gmail.com> > declaimed the following in gmane.comp.python.general: > >> >> But again, that probably doesn't help explain the variables. Unless >> you've come from (or can at least imagine) an environment in which you >> use pointers for *everything*. >> > ... but can not manipulate the pointer directly <G>
Right, obviously pointer arithmetic doesn't make sense in Python. But that's (almost) guaranteed by the fact that there is NOTHING you can do with bare integers. foo q = new q; /* note that 'foo' is a typedef that hides the asterisk */ foo w = q +1; /* Pointer arith! Impossible. */ But! foo e = q + one; /* one is the object representing the integer 1 */ This isn't pointer arithmetic. No C compiler will let you add two pointers. You can subtract one from another, but you get back a bare integer, which won't go into a 'foo', so the only thing you could do that would break stuff is: foo r = q + (w - e); /* Syntactically valid */ So you just won't do pointer arith if everything's a pointer. There, I think I just broke a few minds. My task here is done. ChrisA -- http://mail.python.org/mailman/listinfo/python-list