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) type(line) <type 'string'> print line[0:2] 26 print line 262657
Vielleicht isses ja ganz einfach, aber ich komme nicht drauf. Gruss, Andreas -- Andreas Grytz | http://www.linuxnewmedia.de Stefan-George-Ring 24 | Tel: +49 (0) 89 993411-0 D-81929 München | Fax: +49 (0) 89 993411-99 _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
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= ~
type(line) <type 'string'> print line[0:2] 26 print line 262657
Vielleicht isses ja ganz einfach, aber ich komme nicht drauf.
Gruss, Andreas
MfG Rene _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
---------- Andreas Grytz schreibt am Freitag, 26. September 2003 11:18:
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
wie wär's mit
line = '001001001'
Gruß, Dieter _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
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 -- Andreas Grytz | http://www.linuxnewmedia.de Stefan-George-Ring 24 | Tel: +49 (0) 89 993411-0 D-81929 München | Fax: +49 (0) 89 993411-99 _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
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
_______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
On Freitag, 26. September 2003 11:56, Andreas Grytz wrote:
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?
Das hat AFAIK historische (UNIX) Gründe. Macht die bash (sh?) genauso. Regeln: Fängt mit 0 an -> Oktalzahl Fängt mit 0x an -> Hexadezimalzahl Rest Dezimalzahl Für Binär gibt es AFAIR keinen Anfang. -Falk _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
participants (5)
-
Andreas Grytz
-
Dieter Neubauer
-
Falk Friedrich
-
Rene Liebscher
-
Stephan Diehl