python

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.

Written on March 11, 2020