Cómo comprobar rápidamente las diferencias de sintaxis entre Python2 y Python3
1. Rendimiento
Py3.0 es un 30% más lento que Py2.5 cuando se ejecuta el punto de referencia de pystone. Guido cree que Py3.0 todavía tiene mucho espacio para la optimización en operaciones de cadenas y enteros
para obtener buenos resultados de optimización.
El rendimiento de Py3.1 es un 15% más lento que el de Py2.5 y todavía hay mucho margen de mejora.
2. Codificación
Los archivos fuente Py3.X usan codificación utf-8 de forma predeterminada, lo que hace que el siguiente código sea legal:
>>> China = ' china'
>>> print(china)
china
3. Sintaxis
1) Elimina <> y usa! =
2) Eliminar `` y reemplazar todo con repr()
3) Agregar palabras clave as y with as, así como Verdadero, Falso y Ninguno
4) La división de enteros devuelve un número de punto flotante. Para obtener un resultado entero, use //
5) Agregue una declaración no local. Utilice noclocal x para asignar valores directamente a variables periféricas (no globales).
6) Elimine la declaración de impresión y agregue una función print() para lograr la misma funcionalidad. De manera similar, la declaración exec se ha cambiado a la función ejecutar()
Ejemplo:
2.X: print "La respuesta es", 2*2
3 .X: imprimir("La respuesta es", 2*2)
2.X: imprimir x, # Utilice comas al final para desactivar las nuevas líneas
3.X: imprimir (x, end=" ") # Usar espacios para reemplazar nuevas líneas
2.X: print # Generar nuevas líneas
3.X: print(x, end=" ") . X: imprimir # Generar una nueva línea
3.X: print() # Generar una nueva línea
2.X: imprimir >>sys.stderr, "error fatal"
3.X: imprimir("error fatal", archivo=sys.stderr)
2.X: imprimir (x, y)
# repr de salida (( x, y))
3.X: print((x, y)) # ¡Diferente de print(x, y)!