[Python-de] Rätselhaftes String-Verhalten

Stephan Diehl stephan.diehl at gmx.net
Fre Sep 26 13:06:10 CEST 2003


Schau mal unter
http://www.python.org/doc/current/ref/integers.html
nach.

On Friday 26 September 2003 11:56, Andreas Grytz wrote:
> On Fri, Sep 26, 2003 at 11:32:25AM +0200, Rene Liebscher wrote:
> > On Fri, 26 Sep 2003, Andreas Grytz wrote:
> > > Hallo zusammen,
> > >
> > > wie immer mit den einfachen Sachen im Leben, man möchte schnell etwas
> > > überprüfen und schwupps -- stößt man auf eine Sache, die immer
> > >
> > > unerklärlicher wird. Folgendes bereitet mir Kopfzerbrechen:
> > > >>> line = 001001001
> > > >>> type(line)
> > >
> > > <type 'int'>
> > >
> > > >>> print line[0:2]
> > >
> > > Traceback (innermost last):
> > >   File "<stdin>", line 1, in ?
> > > TypeError: unsliceable object
> > >
> > > >>> line = str(001001001)
> >
> > 001001001 wird als Oktalzahl interpretiert (=262657=
> > ~
>
> Vielen Dank für die Antworten. Ein paar gingen direkt an mich, sind
> daher hier nicht zu sehen.
>
> OK, das verstehe ich und konnte ich so nachvollziehen. Vielleicht noch
> eine Anschlußfrage: Warum interpretiert er die Zeichenkette als
> Oktalzahl? Bei dem Beispiel könnte es ja auch eine Binärzahl sein?
>
> Gruss,
> 	Andreas