python培训之函数重载吗

发布时间:2022-11-05 09:43:19 人气:86 作者:多测师

  python中是不支持函数重载的,但在python3中提供了这么一个装饰器functools.singledispatch,它叫做单分派泛函数,可以通过它来完成python中函数的重载,让同一个函数支持不同的函数类型,它提供的目的也正是为了解决函数重载的问题。

  看下面的例子,应该知道怎么去使用它完成函数的重载。

  from functools import singledispatch

  @singledispatch

  def show(obj):

  print (obj, type(obj), "obj")

python培训之函数重载吗

  @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 int

  xx str

  [1] obj

  以上内容为大家介绍了python培训之函数重载吗,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线