Python: Funktion und Variable mit gleichem Namen

Meine Frage ist, warum ich die Funktion nicht wieder aufrufen kann? Oder wie macht man das?

Angenommen, ich habe diese Funktion:

def a(x, y, z):
 if x:
     return y
 else:
     return z

und ich nenne es mit:

print a(3>2, 4, 5)

Ich bekomme 4.

Aber stell dir vor, ich deklariere eine Variable mit dem gleichen Namen wie die Funktion (aus Versehen):

a=2

Nun, wenn ich es versuche:

a=a(3>4, 4, 5)

oder:

a(3>4, 4, 5)

Ich erhalte folgende Fehlermeldung: "TypeError: 'int' Objekt ist nicht aufrufbar"

Ist es nicht möglich, der Funktion die Variable 'a' zuzuweisen?