On 10/8/06, km <[EMAIL PROTECTED]> wrote: > > Hi all, > > was looking at references in python... > >>> a = 10 > >>> b = a > >>> id(a) > 153918788 > >>>id(b) > 153918788 > > where a and b point to the same id. now is this id an address ?
The id may be considered similar to an address in C, etc. slightly different but conceptually close. > can one dereference a value based on address alone in python? Not to my knowledge. Generally speaking, you wouldn't want to anyway. > is id similar to the address of a variable or a class ? Exactly. Similar. Not the same, but similar. > read abt buffers as a refernce to a buffer object. > actually i tried passing list and dict types to buffer function, but only > with string type i could createa buffer reference, > >>>y = 'GATCGTACC' > >>>x = buffer(y, 0,8) > >>> x > <read-only buffer for 0xbf4cd3b8, size 8, offset 2 at 0xbf4cf0e0> > >>>print x > TCGTACC > >>> id(y) > -1085484104 > >>> id(x) > -1085476384 > > now the ids of y and x are not the same - why ? You assigned two different object values to these names. In Python, a name is just a name. It can point at any object. This relation becomes very clear with mutable objects. >>> x = {'foo':42, 'bar':69} >>> id(x) 1076761980 >>> y = x >>> y['baz'] = 36 >>> id(y) 1076761980 >>> y {'baz': 36, 'foo': 42, 'bar': 69} >>> x {'baz': 36, 'foo': 42, 'bar': 69} When I wrote y = x, all I did was make the variable y point to the dictionary object x is also pointing at. Hence they point to the same object. Things would be different if I decided to copy an object instead: >>> x = {'foo':42, 'bar':69} >>> import copy >>> y = copy.deepcopy(x) >>> y['baz'] = 36 >>> id(x) 1076761164 >>> id(y) 1076890180 >>> x {'foo': 42, 'bar': 69} >>> y {'baz': 36, 'foo': 42, 'bar': 69} Since your name is Sri Krishna, an avatar of Vishnu, the concept should be familiar. Variables are like avatars; they represent the object (whether this is a humble dictionary or Vishnu the Preserver) for the user, and serve as a bridge between the computer and the user, as an avatar of Vishnu is a bridge between the physical world and the supernatural. Dasha Avatar -- one god. Think about it. > what exactly are buffer object types ? and how can i instantiate them ? If you want to get a line of user input, the basic function is raw_input(). -- Theerasak -- http://mail.python.org/mailman/listinfo/python-list