如何在Python中使用不同的参数类型实现函数重载?
假设python支持函数重载,我们将如何定义用于添加两个数字和连接两个字符串的重载函数? 我只想知道如何在函数定义中为参数指定特定的数据类型,或者它将取决于函数调用中给出的参数。 是这样的吗?如何在Python中使用不同的参数类型实现函数重载?,python,python-3.x,types,overloading,Python,Python 3.x,Types,Overloading,假设python支持函数重载,我们将如何定义用于添加两个数字和连接两个字符串的重载函数? 我只想知道如何在函数定义中为参数指定特定的数据类型,或者它将取决于函数调用中给出的参数。 是这样的吗? def num(a=int,b=int): return a+b def strng(a=str,b=str): return a+b python是动态类型化语言。因此,没有严格执行类型检查。在定义函数时,可以为参数定义可选的类型 def函数(a:int
def num(a=int,b=int):
return a+b
def strng(a=str,b=str):
return a+b
python是动态类型化语言。因此,没有严格执行类型检查。在定义函数时,可以为参数定义可选的
类型
def函数(a:int=0,b:int=0):返回a+b
这里的类型定义实际上没有什么特殊之处,但可能有助于IDE的自动完成。您可以传入一个字符串,不会出现任何错误,但在向
字符串添加数字时肯定会抛出一个错误。我知道,C++语言和java语言中的函数重载可以通过两种方式来完成:不同的参数数量或不同的数据类型参数。我想知道第二个。简言之:如果函数根据其参数的类型执行不同的操作,它必须在计算结果之前使用isinstance()
或type()
检查参数的类型。@DyZ:不,这是个错误的建议,在许多情况下,使用try更像python…除了梯形图。