>>> from functools import singledispatch >>> @singledispatch ... def func(arg1, arg2): ... print('kein Dispatch') >>> @func.register(int) ... def _(arg1, arg2): ... print('int') >>> @func.register(str) ... def _(arg1, arg2): ... print('str') # erstes Argument ist eine Ganzzahl >>> func(1, 'egal') int # erstes Argument ist eine Zeichenkette >>> func('abc', 'egal') str # erstes Argument löst kein Dispatch aus, da Typ nicht registriert >>> func([1, 2, 3], 'egal') kein Dispatch