Python 3.6: int
long
Python 2 unterschiedet noch zwischen int
und long
.
Python 3 hat damit aufgeräumt und es gibt nur noch int
, was aber dem alten long
entspricht!
Das führt natürlich zu Problemen, wenn man Code schreibt, der sowohl unter Python 2 alsauch mit Python 3 funktionieren soll.
Der Suffix 123L
ist nicht länger erlaubt.
Für die bessere Lesbarkeit darf man ab Python 3.7 (also erst ab UCS-5!) auch 1_234_567
schreiben.
div
Auch hat sich die Semantik des Divisionsoperators geändert:
In Python 2 liefert 5 / 2 = 2 # int
.
In Python 3 dagegen bekommt man 5 / 2 = 2.5 # float
.
Mit einem from __future__ import division
bekommt man auch schon mit Python 2 das neue Verhalten.
Will man eine Ganzzahldivision, sollte man 5 // 2 = 2 # int
verwenden.