Python: función y variable con el mismo nombre
Mi pregunta es ¿por qué no puedo volver a llamar a la función? ¿O cómo hacer eso?
Supongamos que tengo esta función:
def a(x, y, z):
if x:
return y
else:
return z
y lo llamo con:
print a(3>2, 4, 5)
Me dan 4.
Pero imagine que declaro una variable con el mismo nombre que la función (por error):
a=2
Ahora, si trato de hacer:
a=a(3>4, 4, 5)
o:
a(3>4, 4, 5)
Obtendré este error: "TypeError: el objeto 'int' no es invocable"
¿No es posible asignar la variable 'a' a la función?