gpt4 book ai didi

java - Python 中具有两个以上函数的方法重载

转载 作者:行者123 更新时间:2023-12-01 12:28:39 25 4
gpt4 key购买 nike

在 Java 中,我能够在类中进行方法重载,如下所示(伪代码):

public class Test
private double result;

Test(){result=0;}

public double func(int a, int b, int c)
{
result=a+b+c;
}

public double func(int a, int b)
{
result=a*b;
}

public double func(int a)
{
result=Math.pow(a,2);
}

如何在 Python 中获得相同的行为?我知道我可以使用默认值,但是当我想在方法中实现不同的操作时,我遇到了问题。

有什么帮助吗?

最佳答案

您可以使用相同的函数来执行此操作,但通过参数数量,您可以决定要执行什么操作,如下所示

class Test:
def func(*args):
if len(args) == 1:
return args[0] * args[0]
elif len(args) == 2:
return args[1] * args[0]
elif len(args) == 3:
return sum(args)
else:
raise "Unexpected number of arguments"

在Python中,当你定义一个具有多个同名函数的类时,最后一个函数将覆盖前一个同名函数的定义,因为函数和类的关联发生得很晚。

关于java - Python 中具有两个以上函数的方法重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26122971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com