Ich denke mal, es war so gemeint, dass man zunächst auf `__base__` testen soll und nur in dem Fall, wenn dieses Attribut nicht vorhanden ist, das Argument als Callback-Funktion aufgefasst wird und erst dann der Test auf Aufrufbarkeit folgen würde. Letzteres könnte man natürlich genau so gut erreichen, wenn man nach einem negativen `__base__`-Test einfach den Aufruf probiert und dann schaut, ob ein Fehler geworfen wird oder nicht.BlackJack hat geschrieben:@Sirius3: Aber damit schliesst man doch Exemplare aus die zwar `__base__` haben, aber auch eine `__call__`-Implementierung die zum Testen gedacht ist.
Insgesamt erscheint mir das aber sowieso ein bißchen zu magisch. Sicherlich lässt sich auch ein anderer Weg finden, um eigene Prüfer übergeben zu können. Type-Checks sind ja doch ein bißchen was anderes als die Validierung von Werten. Das könnte man bei Gefallen IMHO eher separat einbauen, falls man denn ein Validierung-Framework haben möchte.