python中是不支持函数重载的,但在python3中提供了这么一个装饰器functools.singledispatch,它叫做单分派泛函数,可以通过它来完成python中函数的重载,让同一个函数支持不同的函数类型,它提供的目的也正是为了解决函数重载的问题。
看下面的例子,应该知道怎么去使用它完成函数的重载。
fromfunctoolsimportsingledispatch @singledispatch defshow(obj): print(obj,type(obj),"obj") @show.register(str) def_(text): print(text,type(text),"str") @show.register(int) def_(n): print(n,type(n),"int") show(1) show("xx") show([1])
1<class'int'>int xx<class'str'>str [1]<class'list'>obj原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容