Red de conocimiento informático - Conocimiento informático - Cómo comprobar rápidamente las diferencias de sintaxis entre Python2 y Python3

Cómo comprobar rápidamente las diferencias de sintaxis entre Python2 y Python3

La diferencia 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)!