Depois de executar parte de um programa, o diagrama de ambiente associado é:
Note que há quatro variáveis no quadro global: n
, A
, B
e a
.
O código para A.foo
(com a linha rosa) é:
def foo(self):
return n + self.n
O código para B.__init__
(com a linha verde) é:
def __init__(self, bar):
self.n = bar
O código para B.foo
(com a linha laranja) é:
def foo(x):
return x.n + A.n + a.n + B.n + b.n + n
Quais valores são impressos se o código abaixo é executado, começando do estado representado pelo diagrama de ambiente acima?
print(a.foo()) # instrução print 1
b = B(4)
print(b.foo()) # instrução print 2
a.n = 6
print([b.foo(), a.foo()]) # instrução print 3
Qual o valor impresso pela instrução print
1?
Qual o valor impresso pela instrução print
2?
Qual o valor impresso pela instrução print
3?