⇤ ← Revisão 1e 2008-05-27 21:27:38
1736
Comentário:
|
1797
|
Deleções são marcadas assim. | Adições são marcadas assim. |
Linha 5: | Linha 5: |
== Exercício == | == Exercício 1 == |
Linha 66: | Linha 66: |
print '-> 14 __main__ (final)' print '-> 15 FIM' |
Python é uma linguagem dinâmica e interpretada, e não tem um pré-processador (como existe em C). A ordem em que os comandos de um programa Python são executados obedece a algumas regras simples.
Para testar seu conhecimento sobre estas regras, faça o seguinte exercício abaixo.
Exercício 1
Observe que a listagem abaixo possui vários comantos print (e um sys.stdout.write) com marcadores numerados assim: "-> N". Anote em um pedaço de papel em que ordem estes marcadores aparecerão na saída do programa, e depois rode o programa para saber se acertou.
1 import sys
2 import atexit
3
4 print '-> 1 inicio'
5
6 def funcaoA():
7 print '-> 2 funcao A'
8 return 'resultado A'
9
10 def funcaoB():
11 print '-> 3 funcao B'
12
13 def funcaoC():
14 print '-> 4 funcao C'
15
16 return funcaoC
17
18 funcaoD = lambda:sys.stdout.write('-> 5 funcao D\n')
19
20 def funcaoE():
21 print '-> 6 funcao E'
22
23 class Classe(object):
24 print '-> 7 bloco de declaracoes da Classe'
25
26 def __init__(self):
27 print '-> 8 inicializacao da instancia da Classe'
28
29 def metodo(self):
30 print '-> 9 metodo da instancia da Classe'
31 return 'resultado metodo'
32
33 if True:
34 print '-> 10 condicional True'
35
36 if False:
37 assert False, 'Isso nunca devia acontecer'
38
39 atexit.register(funcaoE)
40
41 print '-> 11 logo antes do if __main__'
42
43 if __name__=='__main__':
44 print '-> 12 __main__'
45 print funcaoA
46 print funcaoA()
47 print '-> 13 __main__ (cont.)'
48 print funcaoB
49 resultadoB = funcaoB()
50 print resultadoB
51 objeto = Classe()
52 objeto.metodo()
53 resultadoB()
54 print funcaoD
55 funcaoD()
56 print '-> 14 __main__ (final)'
57 print '-> 15 FIM'