Python: função e variável com o mesmo nome
Minha pergunta é por que não consigo chamar a função novamente? Ou, como fazer isso?
Suponha que eu tenho esta função:
def a(x, y, z):
if x:
return y
else:
return z
e eu chamo com:
print a(3>2, 4, 5)
Eu recebo 4.
Mas imagine que eu declaro uma variável com o mesmo nome que a função (por engano):
a=2
Agora, se eu tentar fazer:
a=a(3>4, 4, 5)
ou:
a(3>4, 4, 5)
Eu receberei este erro: "TypeError: o objeto 'int' não pode ser chamado"
Não é possível atribuir a variável 'a' à função?