Ishwor wrote:

On Thu, 23 Dec 2004 13:33:16 -0300, Batista, Facundo
<[EMAIL PROTECTED]> wrote:


[Ishwor]

#- > What should 035[0] cough up? Be carefull it should #- #- >>>035[0] #- 3 # my own opinion.

why 3? The reason we get 3 and not 0 here is the *fact* that Python
knows that its an octal rep. and not decimal ;-)



Except that, at the point where the indexing takes place, Python *doesn't* know that it's an octal rep. All integer literals, regardless of representation, generate exactly the same bytecode.


>>> def f():
... x = 035
... y = 29
... >>> dis.dis(f)
0 SET_LINENO 1


         3 SET_LINENO               2
         6 LOAD_CONST               1 (29)
         9 STORE_FAST               1 (x)

12 SET_LINENO 3
15 LOAD_CONST 1 (29)
18 STORE_FAST 0 (y)
21 LOAD_CONST 0 (None)
24 RETURN_VALUE >>>


Given that Python may not even have access to the .py file, only the .pyc (which has lost all record of the source representation), there's no way for the interpreter to do what you suggest.

Jeff Shannon
Technician/Programmer
Credit International

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to