Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中使用不同的参数类型实现函数重载?_Python_Python 3.x_Types_Overloading - Fatal编程技术网

如何在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

假设python支持函数重载,我们将如何定义用于添加两个数字和连接两个字符串的重载函数? 我只想知道如何在函数定义中为参数指定特定的数据类型,或者它将取决于函数调用中给出的参数。 是这样的吗?

    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…除了梯形图。