from functools import singledispatch @singledispatch def ship(payload, destination): return f"default:{payload}:{destination}" @ship.register(str) def ship_text(payload, destination): return f"text:{payload}:{destination}" print(ship(100, "Paris"))