O maior mito de python na educação

9
O Maior Mito de Python na Educação

Transcript of O maior mito de python na educação

O Maior Mito dePython na Educação

Quem aprende a programarcom Python não sabe o que éponteiro.

Porque não é verdade?

Porque referências se assemelham muito a ponteiros....

O aluno pode aprender do jeito fácil:

Ou do jeito difícil (nem tão difícil assim..):

1 >>> l1 = [1,2,3]2 >>> l2 = l1

3 >>> l2.append(2)4 >>> print l1

5 [1, 2, 3, 2]6 >>> print l2

7 [1, 2, 3, 2]

Ou do jeito difícil (nem tão difícil assim..):

 1 >>> def teste(lista=[]): 2 ...     lista.append('wtf') 3 ...     return lista 4 ...  5 >>> teste()

 6 ['wtf'] 7 >>> teste() 8 ['wtf', 'wtf']

 9 >>> teste()10 ['wtf', 'wtf', 'wtf']

11 >>> teste()12 ['wtf', 'wtf', 'wtf', 'wtf']

Portanto:O aluno só 'não sabe o que é ponteiro' se não souber o que é referência.

Se o aluno não sabe o que é referência, não chegou a aprender, porque esbarraria em coisassimples ao trabalhar com objetos mutáveis.

Ao estudar de Algorítmo e Estrutura de Dados com Python é impraticável não saber referências

Em outras linguages a questão é meramente sintática*

Concluindo... não só se assemelham, internamente são ponteiros!

 1 >>> l1 = ['a', 'b'] 2 >>> id(l1) 3 3073632844L

 4 >>> l2 = l1 5 >>> id(l2) 6 3073632844L

7 >>> id(l1)8 3073632844L