2011-02-17 14 views
7

Así que mi trabajo que había usado más viejo Python 2 está haciendo algo de código de actualización, de todos modos Estoy aprendiendo Python y estoy realmente muy nuevo aquí, pero ¿cuáles son los principales cambios de sintaxis que iban desde 2 -> 3Python 3 Sintaxis Cambios

o hay realmente incluso los cambios de sintaxis que mucho a todos (como sé de impresión se cambió, pero ¿qué más importantes)

Gracias

+2

use 2to3: http://docs.python.org/library/2to3.html – mouad

+1

Para uso casual, 'print' es probablemente lo que notará más. Si realiza algún tipo de manejo de Unicode, eso es muy diferente. Aparte de eso, debería ser principalmente algo a lo que te puedas acostumbrar bastante rápido. –

Respuesta

10

Novedades de Python 3.0:
http://docs.python.org/release/3.0.1/whatsnew/3.0.html

PEP: 3000 - Python 3000:
http://www.python.org/dev/peps/pep-3000/

PEP: 3099 - Las cosas que no va a cambiar en Python 3000:
http://www.python.org/dev/peps/pep-3099/

+0

El primero es importante. Se han producido varios cambios en la semántica: la mayoría debería hacer que el código falle rápidamente (por ejemplo, usar el resultado de 'zip' o' range' como una lista), pero puede haber algunos sutiles. – delnan

4

Las cosas que realmente notas en la sintaxis son la declaración de impresión y el cambio en la sintaxis de excepción. 2to3 manejará todo eso.

que no le causa ningún dolor de cabeza sin embargo. Generalmente, estos provienen de la división de cadenas en bytes binarios y cadenas Unicode. 2to3 no maneja eso.

Así que los cambios en la sintaxis no son realmente lo que hay que preocuparse. :)

entonces hay algunos cambios menores en la sintaxis, un montón de pequeños cambios en diversos funcionalidad y una gran reorganización de la biblioteca estándar, la mayoría de los cuales 2to3 asas.

No hay ningún resumen canónico de todos los cambios afaik, aunque he intentado make one en mi new book. Puede haber algunas fallas, pero ahí tienes.