Olá!
Eu sou Yan Orestes
Produtor de conteúdo na
1
@yanorestes
Slide 2
Slide 2 text
Python 2 X Python 3
Qual versão aprender?
Slide 3
Slide 3 text
Python 2 X Python 3
Qual versão aprender?
Em qual versão programar?
Slide 4
Slide 4 text
Ué
e a
retrocompatibilidade?
Slide 5
Slide 5 text
retrocompatibilidade?
Slide 6
Slide 6 text
falhas de design
Python 2
Slide 7
Slide 7 text
falhas de design
Python 3
Slide 8
Slide 8 text
8
Python 2 ou Python 3?
Entendendo (finalmente) as
diferenças entre as duas versões
principais da linguagem
Slide 9
Slide 9 text
Mudanças
sutis
1.
9
Slide 10
Slide 10 text
Python 2
>>> print 'Hello, world!'
Hello, world!
Slide 11
Slide 11 text
>>> print 'Hello, world!'
File "", line 1
print 'Hello, world!'
^
SyntaxError: Missing parentheses in call to 'print'. Did you
mean print('Hello, world!')?
Python 3
Slide 12
Slide 12 text
Python 2 e Python 3
>>> print('Hello, world!')
Hello, world!
Slide 13
Slide 13 text
raw_input
X
input
Slide 14
Slide 14 text
raw_input
X
input
Python 2
Python 3
Slide 15
Slide 15 text
Python 2
>>> input()
Oi!
Traceback (most recent call last):
File "", line 1, in
File "", line 1
Oi!
^
SyntaxError: unexpected EOF while parsing
Slide 16
Slide 16 text
Lazy
evaluation
2.
16
Slide 17
Slide 17 text
range
função X classe
Slide 18
Slide 18 text
range
função X classe
lista instância
Python 2 Python 3
Slide 19
Slide 19 text
Python 2
>>> range(10**10)
Traceback (most recent call last):
File "", line 1, in
MemoryError
50
Python 3
>>> ' ' > []
Traceback (most recent call last):
File "", line 1, in
TypeError: '>' not supported between instances
of 'str' and 'list'
Slide 51
Slide 51 text
Indentação
6.
51
Slide 52
Slide 52 text
52
Python 3
>>> while True:
... print('oi')
... print('tchau')
File "", line 3
print('tchau')
^
TabError: inconsistent use of tabs and spaces in
indentation
Slide 53
Slide 53 text
53
Qual versão
aprender?
(e qual
ensinar?)
Slide 54
Slide 54 text
54
Para qual
versão
programar?
Slide 55
Slide 55 text
55
2014 - Python 2 78% X 22% Python 3
Slide 56
Slide 56 text
56
2014 - Python 2 78% X 22% Python 3
2016 - Python 2 60% X 40% Python 3
Slide 57
Slide 57 text
57
2014 - Python 2 78% X 22% Python 3
2016 - Python 2 60% X 40% Python 3
2017 - Python 2 25% X 75% Python 3
Slide 58
Slide 58 text
58
Tornando seu
programa
mais
compatível
Slide 59
Slide 59 text
Python 2 e Python 3
>>> print('Hello, world!')
Hello, world!
Slide 60
Slide 60 text
from sys import version_info
if version_info.major == 3:
input()
else:
raw_input()
Slide 61
Slide 61 text
from sys import version_info
if version_info.major == 3:
input()
else:
raw_input()
Slide 62
Slide 62 text
from sys import version_info
if version_info.major > 2:
input()
else:
raw_input()
Slide 63
Slide 63 text
from sys import version_info
if version_info.major == 3:
input()
else:
raw_input()
Slide 64
Slide 64 text
Às vezes é mais fácil
pedir desculpas do que
pedir permissão
64
- Grace Hopper
Slide 65
Slide 65 text
try:
raw_input('Digite seu nome: ')
except NameError:
input('Digite seu nome: ')
Slide 66
Slide 66 text
try:
raw_input('Digite seu nome: ')
except NameError:
input('Digite seu nome: ')
Slide 67
Slide 67 text
Muito
obrigado!
Alguma pergunta?
Você pode falar comigo em
▪ @yanorestes
▪ [email protected]
67
Slide 68
Slide 68 text
Agradecimentos
especiais
▪ Python Brasil
▪ Alura/Caelum
▪ Casa do Código (PythonBrasil&CasadoCodigo)
68
15%
Slide 69
Slide 69 text
Design da
apresentação
Essa apresentação usa as seguintes fontes:
▪ Títulos: Work sans bold
▪ Corpo: Work sans light
▪ Código: Arial com formatação do tohtml.com
Você pode baixar as fontes nessa página
https://github.com/weiweihuanghuang/Work-Sans/tree/master/fonts/desktop
69
Layout dos slides e ícones por SlidesCarnival