Haría exactamente lo que hizo Carlangueitor, excepto que lo haría con None.
None sería el equivalente de null en java.
Código Python:
Ver originaldef gato(nombre=None, edad=None):
if nombre is None:
print "No tengo nombre"
else:
print "Hola, soy", nombre
if edad is None:
print "y no se mi edad"
else:
print "y tengo", edad, "anios"
print
gato()
gato("Garfield")
gato("Don gato", 21)
gato(edad=20)
gato(nombre="Nyan cat", edad=10)
gato(edad=15, nombre="Muai")
No te preocupes por el duck typing lo entendederas a su momento.