Re:Overload functions in Python
by testuser66 on Friday February 28, 2020 @02:56AM
(#22441236)
And it doesn't really need to. Consider this:
from functools import singledispatch
from typing import Union
@singledispatch
def myfunc(arg:Union[int, str]):
print("Called with something else")
@myfunc.register
def _(arg:int):
print("Called the one with int")
@myfunc.register
def _(arg:str):
print("Called the one with str")
myfunc(123)
myfunc("123")
Everything works as you'd expect, and the IDE's type hints are accurate as long as you actually put the correct type hint def myfunc(arg:Union[int, str]):
Ish, see if your IDE supports it (hint: it won't, but it will support named kwargs).