Il y a eu beaucoup de changements pour la sortie de python 3 . Le changement le plus radical étant surement de transformer le print en fonction .
Passer de:
print "bonjour"
à
print("bonjour")
Ce changement fait bugger toutes vos applications python 2 executées en python 3, puisque print
est très souvent utilisé.
Il existe d'autres différences entre les versions python 2 et python 3:
Python 2 Python 3 print "Bonjour" → print("Bonjour") print "Bonjour", variable1 → print("Bonjour", variable1) print "\n".join([x, y]) → print(x, y, sep="\n") print >> sys.stderr, "erreur" → print("Erreur", file=sys.stderr) print "une ligne ", → print("une ligne", end="")
Exceptions
Python 2 Python 3 raise IOError, "file error" → raise IOError("file error") raise "Erreur 404" → raise Exception("Erreur 404!") raise TypeError, msg, tb → raise TypeError.with_traceback(tb)
Changement de nom de modules
Python 2 Python 3 _builtin__ → builtins ConfigParser → configparser copy_reg → copyreg cPickle → pickle Queue → queue repr → reprlib SocketServer → socketserver Tkinter → tkinter _winreg → winreg thread → _thread dummy_thread → _dummy_thread markupbase → _markupbase
Réorganisation
De nombreux objets ont été renommés et déplacés:
Python 2 Python 3 xrange() → range() reduce() → functools.reduce() intern() → sys.intern() unichr() → chr() basestring() → str() long() → int() itertools.izip() → zip() itertools.imap() → map() itertools.ifilter() → filter() itertools.ifilterfalse() → itertools.filterfalse() cookielib → http.cookiejar Cookie → http.cookies htmlentitydefs → html.entities HTMLParser → html.parser httplib → http.client Dialog → tkinter.dialog FileDialog → tkinter.FileDialog ScrolledText → tkinter.scolledtext SimpleDialog → tkinter.simpledialog Tix → tkinter.tix Tkconstants → tkinter.constants Tkdnd → tkinter.dnd tkColorChooser → tkinter.colorchooser tkCommonDialog → tkinter.commondialog tkFileDialog → tkinter.filedialog tkFont → tkinter.font tkMessageBox → tkinter.messagebox tkSimpleDialog → tkinter.simpledialog robotparser → urllib.robotparser urlparse → urllib.parse cStringIO.StringIO() → io.StringIO UserString → collections.UserString UserList → collections.UserList