python 函数重载

本文针对Python函数重载的问题展开讨论,明确指出Python作为一种弱类型语言,并不支持真正的函数重载。文中解释了函数重载的概念及其与重写的区别,并通过示例说明如何在Python中模拟重载行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前
最近看优快云博客知乎上讨论有关python函数重载问题,表示不能赞同,特来阐明个人观点

这里写图片描述

 python 是弱类型语言,是不支持函数重载的

函数重载(Function overloading),是Ada、C++、C#、D和Java等编程语言中具有的一项特性,这项特性允许创建数项名称相同但功能的输入输出类型不同的子程序,它可以简单地称为一个单独功能可以执行多项任务的能力。
—————- 维基百科

首先要说明,函数重载不是重写【覆盖】,重写 是类继承过程中实现多态的一种方式;
函数重载 :要求函数名称相同,参数类型或者个数不同,且执行任务不同

比如定义一个函数add 实现相加功能
对于参数都是整数类型,是进行数值计算,
对于参数都是字符串类型的,可能是字符串连接

python可以使用type()函数作为代理,模拟类似C/C++语言的函数重载(以参数不同类型或个数选择函数的具体实现原型)
对python来说,是弱类型语言,是无法支持重载【即使语言底层实现了重载,也不会像c++那样】;
另一方面,python是高级语言并支持模块化,语言本身的灵活性已经足够高了,有没有函数重载无关紧要
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值