Python3000

497 views

Published on

de

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Python3000

  1. 1. Programación en Python Resúmen Python 3.0 (Py3K) Mariano Reingart reingart@gmail.com
  2. 2. Python 3.0: Nueva versión del Lenguaje Levemente incompatible hacia atrás ¡No alarmarse! Conversión automática: 2to3.py Modificaciones menores, comparado con: VB 6.0 a VB.NET PHP 4 a PHP 5 .NET 1.0 a .NET 2.0 a .NET 3.x Java 1.x
  3. 3. print La sentencia print pasa a ser función: print(args, end="n", sep=" ") Ejemplos: print "La respuesta es", 2*2 print("La respuesta es", 2*2) print x, print(x, end=" ") # (no saltar) print print() print >>sys.stderr, "fatal error" printprint("fatal error", file=sys.stderr) (x, y) print((x, y)) print("Hay <", 2**32, "> posibilidades!", sep="")
  4. 4. Cadenas Unificación str (strings unicode) Nuevo tipo bytes (datos binarios) b'datos binarios' Nuevo Formateo: "hola {quien}".format(quien="mundo") Se mantiene formateo con %
  5. 5. Números int => long (se unifican los enteros) Division flotante: 1/2==0.5, 1//2==1 repr(11./5) devuelve 2.2 en vez de 2.2000000000000002
  6. 6. Listas, Diccionarios, Vistas e Iterables builtin.sorted() y list.sort() no aceptan cmp, usar key dict.keys(), dict.items() y dict.values() devuelven vistas se elimina dict.iterkeys(), dict.itervalues() y dict. iteritems() zip(), map() y filter() devuelven iteradores range() reemplazado por xrange(), devuelve iterador .next() => __next__(), nuevo builtin.next()
  7. 7. Excepciones raise Exception, args => raise Exception(args) except clases, instancia => except clases as instancia Derivar de BaseException. Excepciones encadenadas.
  8. 8. Clases y metaclases Nueva sintaxis metaclases: class MiClase(metaclass=MiMetaclase) super() mejorado (automágico) Abstract Base Clases. Decoradores de Clases.
  9. 9. Varios raw_input() => input() Comparar tipos "compatibles". Se elimina <> (usar !=). Anotaciones: def dividir(a: int, b: int) -> float: Instrucción nonlocal (variables ni globales ni locales) Literales octales, binarios, oct() y bin(): 0666 => 0o666 Se elimina: apply(), callable(), coerce(), execfile(), file(), reduce(), reload()
  10. 10. Módulos "Unificación" cPickle, piclke => piclke StringIO y cStringIO => io Se elimina: audiodev, Bastion, bsddb185, exceptions, linuxaudiodev, md5, MimeWriter, mimify, popen2, rexec, sets, sha, stringold, strop, sunaudiodev, timing, y xmllib, new, os.tmpnam(), os.tempnam() y os.tmpfile()
  11. 11. Documentación y Ayuda Python Argentina: http://www.python.org.ar/ Python 3000 en PyAr PEP 3000 (Propuesta de Mejoras) Que hay de nuevo en Python 3.0 (inglés)

×