python支持重载吗

  介绍

这篇文章运用简单易懂的例子给大家介绍python支持重载吗,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

在一些静态语言中,大都存在有一个重载的概念。这是在OOP(面对对象编程)中一个必不可少的一个行为。

所谓重载,就是多个相同函数名的函数,根据传入的参数个数,参数类型而执行不同的功能,所以函数重载实质上是为了解决编程中参数可变不统一的问题。

<强> python中的重载

在python中,具有重载的思想却没有重载的概念,所以有的人说python这门语言并不支持函数重载,有的人说python具有重载功能。实际上python编程中具有重载的目的,却无重载的行为,或者说python并是不需要重载!

python是一门动态语言,不需要声明变量类型,函数中可以接受任何类型的参数也就无法根据参数类型来支持重载,python没有必要去考虑参数的类型问题,这些都可以在函数内部判断处理,并无必要去在写一个函数.python有多种传参方式,默认参数/可变参数/可变关键字参数可以处理函数参数中参数可变的问题。

<强> python3.4中增加的重载机制

在python3.4中提供有一个转发机制来实现重载:

得到functools  import  singledispatch ,,   @singledispatch    def 函数(obj):   ,,,print (& # 39; % " # 39; % (obj))   ,,,,,,   @function.register (int),   def  function_int (obj):,   ,,,print(& # 39;整数:% d # 39; % (obj)),   ,,   @function.register (str),   def  function_int (obj):,   ,,,print(& # 39;字符串:% & # 39;% (obj)),   ,,   @function.register(列表),   def  function_list (obj):,   ,,,print(& # 39;列表:% " # 39;% (obj)),   ,,   ,,   if  __name__ ==,“__main__":,   ,,,,的函数(1),   ,,,,的函数(& # 39;你好# 39;),   ,,,,的函数(范围(3)),   ,,,,的函数(对象)

关于python支持重载吗就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

python支持重载吗