python3@andrewsmedina
porquê python3?        ‣   apresentação, “python3”globo .com
python3 no python2
divisão        ‣   // em vez de /        ‣   from __future__ import divisionglobo .com
separe dados binários de string        ‣   b”” e u””        ‣   unicode e bytes        ‣   https://gist.github.com/4128327...
use “iterator-methods” para dicionários        ‣   iterkeys, iteritems, itervaluesglobo .com
context managers        ‣   with        ‣   https://gist.github.com/4128513globo .com
custom context managers        ‣   __enter__        ‣   __exit__        ‣   https://gist.github.com/4128516globo .com
str.format()        ‣   “{0} - {1}”.format(“andrews”, 19)        ‣   “{name} - {idade}”.format(name=”andrews”, idade=19)gl...
set literals        ‣   {1,1,1}globo .com
set comprehension        ‣   {x for x in [1,2,3,3]}globo .com
dict comprehension        ‣   {key.upper(): value for key, value in d.items()}globo .com
generators        ‣   yield        ‣   https://gist.github.com/4128556globo .com
generator expression        ‣   (x for x in Silly Walk)globo .com
print        ‣   from __future__ import print_function        ‣   https://gist.github.com/4128557        ‣   https://gist....
classes abstratas        ‣   https://gist.github.com/4128566globo .com
multiprocessing        ‣   https://gist.github.com/4128572globo .com
OrderedDict        ‣   https://gist.github.com/4128574globo .com
ambiente de desenvolvimento
instalação        ‣   http://python.org/download/releases/3.3.0/globo .com
virtualenv        ‣   pyvenv myenv        ‣   python -m venv myenvglobo .com
distribute        ‣   curl -O http://python-distribute.org/distribute_setup.py        ‣   python distribute_setup.pyglobo ...
pip        ‣   easy_install pipglobo .com
o que mudou
range, zip, map, filter        ‣   retornam iterators        ‣   cuidado com “x = range(5)”globo .com
print        ‣   objeto        ‣   novos parâmetros (sep, end, file, flush)globo .com
exceptions        ‣   except IOError as e:globo .com
class ClassName:        ‣   new style        ‣   antes era “class ClassName(object):”globo .com
str/bytes        ‣   python2 -> str == unicode        ‣   python2 -> bytes == str        ‣   antes a conversão era implíci...
str/bytes        ‣   str (unicode no python2) para representação        ‣   bytes (str no python2) para transferênciaglobo...
int        ‣   long foi renomeado para intglobo .com
novidades
annotations        ‣   adiciona meta dados em uma função        ‣   https://gist.github.com/4128579globo .com
str.format()        ‣   nova maneira de formatar stringsglobo .com
str.format_map()        ‣   nova maneira de formatar stringsglobo .com
bytearray        ‣   mutávelglobo .com
memoryview        ‣   https://gist.github.com/4128582globo .com
FileIO        ‣   substitui métodos do módulo os        ‣   https://gist.github.com/4128583globo .com
concurrent.futures        ‣   https://gist.github.com/4128587        ‣   https://gist.github.com/4128588globo .com
functools.lru_cache        ‣   memoização        ‣   https://gist.github.com/4128591globo .com
como portar
apenas python3globo .com
python 2 e 3globo .com
2to3globo .com
3to2        ‣   pip install 3to2globo .com
six        ‣   pip install sixglobo .com
leitura        ‣   http://python3porting.com/        ‣   http://docs.python.org/3/        ‣   http://getpython3.com/divein...
obrigado!
Próximos SlideShares
Carregando em…5
×

Python 3 - tutorial

2.308 visualizações

Publicada em

Tutorial sobre Python 3. Onde abordo:

- como programar python 3 no python 2.
- novidades
- mudanças
- ambiente de desenvolvimento
- como portar

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Python 3 - tutorial

  1. 1. python3@andrewsmedina
  2. 2. porquê python3? ‣ apresentação, “python3”globo .com
  3. 3. python3 no python2
  4. 4. divisão ‣ // em vez de / ‣ from __future__ import divisionglobo .com
  5. 5. separe dados binários de string ‣ b”” e u”” ‣ unicode e bytes ‣ https://gist.github.com/4128327globo .com
  6. 6. use “iterator-methods” para dicionários ‣ iterkeys, iteritems, itervaluesglobo .com
  7. 7. context managers ‣ with ‣ https://gist.github.com/4128513globo .com
  8. 8. custom context managers ‣ __enter__ ‣ __exit__ ‣ https://gist.github.com/4128516globo .com
  9. 9. str.format() ‣ “{0} - {1}”.format(“andrews”, 19) ‣ “{name} - {idade}”.format(name=”andrews”, idade=19)globo .com
  10. 10. set literals ‣ {1,1,1}globo .com
  11. 11. set comprehension ‣ {x for x in [1,2,3,3]}globo .com
  12. 12. dict comprehension ‣ {key.upper(): value for key, value in d.items()}globo .com
  13. 13. generators ‣ yield ‣ https://gist.github.com/4128556globo .com
  14. 14. generator expression ‣ (x for x in Silly Walk)globo .com
  15. 15. print ‣ from __future__ import print_function ‣ https://gist.github.com/4128557 ‣ https://gist.github.com/4128561globo .com
  16. 16. classes abstratas ‣ https://gist.github.com/4128566globo .com
  17. 17. multiprocessing ‣ https://gist.github.com/4128572globo .com
  18. 18. OrderedDict ‣ https://gist.github.com/4128574globo .com
  19. 19. ambiente de desenvolvimento
  20. 20. instalação ‣ http://python.org/download/releases/3.3.0/globo .com
  21. 21. virtualenv ‣ pyvenv myenv ‣ python -m venv myenvglobo .com
  22. 22. distribute ‣ curl -O http://python-distribute.org/distribute_setup.py ‣ python distribute_setup.pyglobo .com
  23. 23. pip ‣ easy_install pipglobo .com
  24. 24. o que mudou
  25. 25. range, zip, map, filter ‣ retornam iterators ‣ cuidado com “x = range(5)”globo .com
  26. 26. print ‣ objeto ‣ novos parâmetros (sep, end, file, flush)globo .com
  27. 27. exceptions ‣ except IOError as e:globo .com
  28. 28. class ClassName: ‣ new style ‣ antes era “class ClassName(object):”globo .com
  29. 29. str/bytes ‣ python2 -> str == unicode ‣ python2 -> bytes == str ‣ antes a conversão era implícitaglobo .com
  30. 30. str/bytes ‣ str (unicode no python2) para representação ‣ bytes (str no python2) para transferênciaglobo .com
  31. 31. int ‣ long foi renomeado para intglobo .com
  32. 32. novidades
  33. 33. annotations ‣ adiciona meta dados em uma função ‣ https://gist.github.com/4128579globo .com
  34. 34. str.format() ‣ nova maneira de formatar stringsglobo .com
  35. 35. str.format_map() ‣ nova maneira de formatar stringsglobo .com
  36. 36. bytearray ‣ mutávelglobo .com
  37. 37. memoryview ‣ https://gist.github.com/4128582globo .com
  38. 38. FileIO ‣ substitui métodos do módulo os ‣ https://gist.github.com/4128583globo .com
  39. 39. concurrent.futures ‣ https://gist.github.com/4128587 ‣ https://gist.github.com/4128588globo .com
  40. 40. functools.lru_cache ‣ memoização ‣ https://gist.github.com/4128591globo .com
  41. 41. como portar
  42. 42. apenas python3globo .com
  43. 43. python 2 e 3globo .com
  44. 44. 2to3globo .com
  45. 45. 3to2 ‣ pip install 3to2globo .com
  46. 46. six ‣ pip install sixglobo .com
  47. 47. leitura ‣ http://python3porting.com/ ‣ http://docs.python.org/3/ ‣ http://getpython3.com/diveintopython3/globo .com
  48. 48. obrigado!

×